那就顺便在任务管理器中看什么把CPU给占了

解决方案 »

  1.   

    看看任务管理器,看是那个进程把CPU 占了。然后在具体分析原因。
      

  2.   

    占CPU的是sqlserver
    只是奇怪占的内存才100多M而且他们反映系统慢
      

  3.   

    SQL 不是很容易安装,很容易有病毒的侵入,我安装过好几次都没有成功,最后重新装系统才安装上了
      

  4.   

    内存和CPU没有什么关系,你的CPU高了,内存占用很低没有什么奇怪的。
      

  5.   

    照理,CPU不应该占用这么高,内存占用不高情有可原.是不是数据库有什么问题?用DBCC查一下试试.
      

  6.   

    楼主开了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)')
     
      

  7.   

    上面的SQL不完整....
    SELECT cntr_value FROM sys.dm_os_performance_counters WHERE counter_name  IN ('Target Server Memory (KB)','Total Server Memory (KB)')
      

  8.   

    谢谢,AWE是enable的
    我用了上面的SQL查了,结果是
    cntr_value
    7,246,920
    7,243,888这个数字应该不是SQL Server使用的内存啊
    我的是X86的,总的内存8G, SQLSERVER2005Enterprise怎样看SQLServer实际使用的内存呢
      

  9.   

    可以参考联机丛书
    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,系统应用量很大...