服务器CPU跑满了怎么办?
发布时间:2017-06-15 15:13:21
首先要登录服务器查看是哪些进程/应用在消耗 CPU。
在 Linux 服务器上,可以使用 nmon 命令或者top命令查看。
在 Windows 上可以在任务管理器里(或者安装百度安全卫士)查看,分析(分析后可强制结束相关进程)。
导致服务器CPU使用率占用高的原因是有很多因素的,综合起来大致可分为以下几点:
1)杀毒软件的运行,各类的杀毒软件通常加入了对网页、插件、邮件的随机监控,无疑增大了系统负担。建议尽量使用最少的监控服务;
2)自己的软件程序运行。检查程序最大线程数是否足够,程序代码不够优化,如死循环,死锁;
3)病毒、木马、间谍软件导致,往往是由于大量的病毒在系统内部迅速复制,造成CPU占用资源率据高不下。同时检查部分系统进程是否占用大量CPU,例如svchost.exe、Services.exe、explorer.exe 等进程,最好检查清楚进程的运行路径是否有异常,正是因为这些进程的特殊性和重要性,使它更容易成为了一些病毒木马的宿主。建议用可靠的杀毒软件彻底查杀;
4)一些不完善的驱动程序也可以造成CPU使用率过高,定期升级更新驱动。
5)网络连接导致CPU使用率高,服务器对外提供访问服务时,系统将分配内存和少量CPU资源来为这些连接提供服务,当负荷过重,就会出现上述情况。同时也有可能受到网络攻击,消耗大量的系统资源导致CPU使用率高。
linux服务器可以通过系统日志和web日志,和一些top,free,uptime,sar,ps命令查询原因,windows服务器可以通过资源监控器分析。
如果您的进程属于正常负载,可考虑进行服务器配置升级,或选购额外的负载。
如果是应用的流量已经达到了带宽的上限,需要重新调整带宽。目前阿里云百度云腾讯云三家都支持调整带宽。
服务器里的CPU占用很高,怎么办?