楼主开了AWE吧?? 开启AWE后,任务管理器里的进程使用内存是不准确的 你确认下任务管理器里的物理内存可用数.(或者是你用的是X64的SQL Server) 用以下的SQL 查询..看看你的是多少..--SQL Server 2005 SELECT cntr_value FROM sys.dm_os_performance_counters WHERE counter_name IN ('Target Server Memory (KB)','Total Server Memory (KB)')
上面的SQL不完整.... SELECT cntr_value FROM sys.dm_os_performance_counters WHERE counter_name IN ('Target Server Memory (KB)','Total Server Memory (KB)')
只是奇怪占的内存才100多M而且他们反映系统慢
用以下的SQL 查询..看看你的是多少..--SQL Server 2005
SELECT cntr_value FROM sys.dm_os_performance_counters WHERE counter_name IN ('Target Server Memory (KB)','Total Server Memory (KB)')
SELECT cntr_value FROM sys.dm_os_performance_counters WHERE counter_name IN ('Target Server Memory (KB)','Total Server Memory (KB)')
我用了上面的SQL查了,结果是
cntr_value
7,246,920
7,243,888这个数字应该不是SQL Server使用的内存啊
我的是X86的,总的内存8G, SQLSERVER2005Enterprise怎样看SQLServer实际使用的内存呢
Target Server Memory (KB) :服务器能够使用的动态内存总量。(我的理解是,SQL Server最多能够这么多内存)
Total Server Memory (KB):从缓冲池提交的内存 (KB)。提示:这不是 SQL Server 使用的总内存。
(基本上,你可以把这个当作他的当前使用内存总量,反正都在buffer pool里了)你可以看看任务管理器里的 物理内存可用数啊 ..这个数值应该是准确的..个人感觉你设置最大值为7G 有点过大了,(会不会导致SQL Server+操作系统使用内存不足 然后CPU 居高不下 的情况??)...你可以设置为6G看看(需要重启SQL Server 的服务),我之前的8G服务器就是设的6G最大值sp_configure 'max server memory', 6144
RECONFIGURE
GO跟踪下 Buffer Cache Hit Ratio计数器...小于99%的话即是内存不足..然后再看看自己的程序(应用情况如何,是否很多人连接),在高峰期跟踪下 T-SQL and SP 的complete ,存于你个人机器的表里,看看程序有无
很大的纰漏,或是很多写得不好的地方...如果排除内存使用不足的情况后,CPU持续大于80%===>一般是1,程序问题..
2,T-sql 写得不优化..
3,有没有run 很久的游标??
4,系统应用量很大...