如何使用top命令查看云服务器的CPU等性能指标?

  • 发布时间:2022-04-09 13:51:11
  • 阅读次数:2671

当云服务器变得缓慢卡顿时,通常需要先检查CPU负载是否过高,如果CPU负载确实高,那么再进一步检查具体是什么进程占用了大量的CPU资源。

通过top命令查看CPU负载,远程登录后,直接输入top回车即可。

主要查看load average这个指标,后面的三个数字分别代表前1分钟、前5分钟和前15分钟的平均CPU负载。通常1核的CPU负载不应超过4,如是4核的CPU则不应超16,即CPU核数的四倍,如果超出则说明负载较高存在异常。

其他参数说明如下:

  • us(user time):表示CPU执行用户进程的时间,包括ni时间。
  • sy(system time) :表示CPU在内核运行时间,包括IRQ和softirq时间,系统CPU占用率高,表明系统某部份存在瓶颈,通常值越低越好。
  • wa(waiting time) :CPU在等待I/O操作完成所花费的时间,系统不应该花费大量时间来等待I/O操作,否则说明I/O存在问题。
  • id(idle time) :系统处于空闲期,等待进程运行。
  • ni(nice time) :系统调整进程优先级所花费的时间。
  • hi(hard irq time) :系统处理硬中断所花费的时间。
  • si(softirq time) :系统处理软件中断所花费的时间。
  • st(steal time) :被强制等待虚拟CPU的时间,此时hypervisor在为另一个虚拟处理器服务。

发现CPU负载高之后,则需要进一步检查具体是哪些进程占用了大量的CPU。top命令的显示结果可以帮助我们检查。

如上图所示,可以清楚发现php-fpm进程很占资源。php-fpm、mysql、httpd、nginx等都是站点的web进程,如存在大量的占用资源现象,通常说明网站访问量大。这时可以开启网站的访问日志进行分析,一般来说,访问日志大的其网站占用资源也大。这时可以打开日志,具体分析是本身访问量大还是存在异常访问所致,比如爬虫蜘蛛的大量爬行,程序连接的执行异常,受到cc攻击等。

【全文完】

< 上一篇:如何在Ubuntu 20.04云服务器上安装Docker Compose? 下一篇:如何使用netstat工具检测云服务器的网络连接情况? >