sql-server – 每个实例的SQL Server Express内存和CPU限制是多
如果我在服务器中有8GB的RAM并运行4个SQL Server Express实例,那么SQL Server使用的总内存限制是1GB还是4GB? 是否建议运行这样的多个实例以使每个数据库能够更好地利用资源(假设服务器有足够的资源)? 解决方法
Each instance can use up to 1GB of memory for the buffer pool.每个实例总共可以使用1GB以上的数据,因为并非所有内存分配都通过缓冲池进行.在您的情况下,缓冲池的四个实例使用的最大内存为4GB. 为了确认,我启动了两个SQL Server 2008 Express数据库引擎实例,执行了一些活动来加载(单独的)缓冲池,然后以多种方式查看每个实例的内存利用率,例如使用DBCC MEMORYSTATUS或者使用sys.dm_os_buffer_descriptors DMV计算缓冲区数量. 下面的物理内存使用数是使用在数据库引擎的每个实例上针对系统DMV sys.dm_os_process_memory的同时查询获得的: SELECT dopm.physical_memory_in_use_kb FROM sys.dm_os_process_memory AS dopm; 输出: ╔═══════════╦═══════════╗ ║ Instance1 ║ Instance2 ║ ╠═══════════╬═══════════╣ ║ 1102872 ║ 1059812 ║ ╚═══════════╩═══════════╝ 如前所述,由于总物理内存使用量不仅仅包括缓冲池使用量,因此每个都略微超过1GB.
如果每个实例上的数据库在功能上独立,那么以这种方式运行多个Express实例至少是可行的,尽管您需要特别注意配置和维护可能会变得更加复杂. 如果预期用法与许可证匹配,则使用其他版本可能会更好,例如功能齐全(且非常便宜)的Developer Edition.你需要更多地了解情况,以便在这一点上得到明确的答案. (编辑:淮安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |