SQLservr.exe 进程CPU占用率忽高忽低是怎么回事,恳请大家帮帮忙看看 安装sqlserver2005数据库服务器,服务器硬件配置也不错,最近出现sqlservr.exe 这个进程占用CPU 从14% 跳跃上升到100%,等一会又跳跃下降至14%左右或24%左右,跳到100%后停留的时间比较长,一般就是百分之十几到百分之四十几到百分之六十几然后到100%,请问大家这是应该是什么原因引起的,该怎么解决阿?非常感谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CPU很高一般有编译、重编译过多,或者由于内存不足,cpu需要把数据页频繁从硬盘和内存之间频繁切换。最好还是用Profiler或者性能监视器监控一下,看看是什么语句之类的导致这种情况。 当你查询数据的数据量比较大时,sqlserver会把查询结果缓存在内存中,保证你下次查询同样的记录时会很快得到结果,所以内存使用量会激增。而且在你完成此次查询后,sqlserver不会马上释放内存,所以会出现你说的CPU一直增高。还有就是这些数据会依然放在内存中,这是sqlserver的优化策略,sqlserver会不断地占用你的系统内存,来加快sqlserver的运行速度,当你的系统中的其它服务也需要内存时,它才会自动释放部分内存。当你内存被占用,就需要CPU频繁重复完成SQL的相关编译等工作,由此造成CPU使用率过高。建议优化你的SQL代码 你跳到100%的时候查询一下SQL Server正在执行什么,有可能HASH等等的操作也是非常耗资源的(用DMV可以查看),也有可能突然用户数增多或者重编译(用Profiler) 这个你可以使用SQL Server Porfiler工具跟踪,重点看下CPU列,看看哪些操作导致CPU开销过大。另外你还可以使用服务器上的系统监视器(Windows Server 2008称为性能监视器)来监控CPU的运作。 Porfiler trace 一下cpu 比较大的语句 如何将SQL语句中的两行结果合并到一行 学习数据库 急~~~ 求助SQL语句,循环将一表某列数据插入另一表某列 如何用SQL语句添加新服务器??已知要添加的服务器的IP:192.168.0.18,用户名:sa,密码:sa.如果SQL 语句不能解决此问题,有何好办法呢??请 存储过程 游标更新如此之慢,不正常吧 求助一个关于取时间段间隔的语句 VFP小问题 help!"服务器 'web' 没有为 RPC 的目的而配置。" 使用触发器同时插入,能否根据某一字段判断是否触发触发器。 海量数据读取效率的问题
另外你还可以使用服务器上的系统监视器(Windows Server 2008称为性能监视器)来监控CPU的运作。