如何查看服务器cpu的占用情况

如何查看服务器cpu的占用情况,第1张

第一步:定位出来使用资源CPU最多的进程,不管是Windows还是linux或者Mac,这个都可以通过任务管理器很快的定位出来。
第二步:定位为什么这个进程耗费CPU资源多。通常的原因有:程序本身本身就是CPU密集型的任务,而且程序正处于工作状态;某些后台软件也有可能执行一些CPU密集型的任务,比如杀毒软件等。
第三步:解决问题。可以通过如下一些方式解决:更换硬件配置,换上更高配的硬件;软件更换,使用一些占用CPU资源更少的软件。


服务器正常运行CUP一般应该都在60%以下,有时候CUP出现上下波动很大,或者是服务器突然很卡,或很慢查看任务管理器,可以发现很多的w3wpexe消耗CPU,结束后立即有新的w3wpexe出现占CPU,管管理员在这种情况只好重新启动IIS服务,奇怪的是,重新启动IIS服务后一切正常,但可能过了一段时间后,问题又再次出现了。
直接原因:
有一个或多个ACCESS数据库在多次读写过程中损坏,微软的MDAC系统在写入这个损坏的ACCESS文件时,ASP线程处于BLOCK状态,结果其他线程只能等待,IIS被死锁了,全部的CPU时间都消耗在w3wpexe中。
解决办法:1
在iis管理器里面设置多个应用程序池, 并把虚拟主机站点分别加入应用程序池。在多应用程序池的情况下,每个应用程序池会对应生成一个w3wpexe文件。通过任务管理器可以查看到所有w3wpexe占用cpu利用率情况。 通过iis管理器打开应用程序池,可以逐个停掉应用程序池。一边停应用程序池,一边在任务管理器里面观察哪个w3wpexe的cpu利用率一下子从降下来,cpu利用率恢复正常。这样可以判断是那个应用程序池出了问题。然后可以再建立多个应用程序池,每一个应用程序池对应一个站点。这样逐个停应用程序池,就可以确定到底是哪个网站出问题。最有问题的往往是计数器类的ACCESS文件,例如:“COUNTMDB” ,“COUNTASP”,找到这个文件后,可以删除它,或下载下来,用ACCESS2000修复它,问题就解决。
解决办法:2
w3wpexe占用cpu过高查询方法,很多web提供商最头疼的问题,在任务管理器经常出现w3wpexe占cup过高,导致整台服务器受影响解决办法如下:
1先把任务管理器打开,发现那个w3wpexe占cup关高就结束进程
2在我的电脑-管理-事件查看器-系统-会找到关w3wpexe的错误报告,把程序池名字记录下,再把具体时间记录下来(如125956)
3在到系统上面的安全性找到对应时间(如125956)登陆过的用户
4打开iis找到2中查询到的程序池,和3查询到登陆过的用户,取交集,即可精确查到是那个web占点站cup
还不明白,看这里:

第一种:用 top 命令 中的cpu 信息观察
Top可以看到的cpu信息有:
Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie
Cpu(s): 03% us, 10% sy, 00% ni, 987% id, 00% wa, 00% hi, 00% si
具体的解释如下:
Tasks: 29 total 进程总数
1 running 正在运行的进程数
28 sleeping 睡眠的进程数
0 stopped 停止的进程数
0 zombie 僵尸进程数
Cpu(s):
03% us 用户空间占用CPU百分比
10% sy 内核空间占用CPU百分比
00% ni 用户进程空间内改变过优先级的进程占用CPU百分比
987% id 空闲CPU百分比
00% wa 等待输入输出的CPU时间百分比
00% hi
00% si
00% wa 的百分比可以大致的体现出当前的磁盘io请求是否频繁。如果 wa的数量比较大,说明等待输入输出的的io比较多。
第二种:用vmstat
vmstat 命令报告关于线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。由 vmstat 命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和。
输入命令:
vmstat 2 5
如果发现等待的进程和处在非中断睡眠状态的进程数非常多,并且发送到块设备的块数和从块设备接收到的块数非常大,那就说明磁盘io比较多。
vmstat参数解释:
Procs
r: 等待运行的进程数 b: 处在非中断睡眠状态的进程数 w: 被交换出去的可运行的进程数。此数由 linux 计算得出,但 linux 并不耗尽交换空间
Memory
swpd: 虚拟内存使用情况,单位:KB
free: 空闲的内存,单位KB
buff: 被用来做为缓存的内存数,单位:KB
Swap
si: 从磁盘交换到内存的交换页数量,单位:KB/秒
so: 从内存交换到磁盘的交换页数量,单位:KB/秒
IO
bi: 发送到块设备的块数,单位:块/秒
bo: 从块设备接收到的块数,单位:块/秒
System
in: 每秒的中断数,包括时钟中断
cs: 每秒的环境(上下文)切换次数
CPU
按 CPU 的总使用百分比来显示
us: CPU 使用时间
sy: CPU 系统使用时间
id: 闲置时间


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12706854.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存