05:54:17最多6天,9:54,用户1,平均负载:15.70,8.04,4.56
负载平均值比应该高很多。 刚才我用了一个半angular来看看哪个进程使用了很多cpu,httpd使用了TON。 它有几个进程运行,每个0.9。 所以我重新启动了httpd,现在这些进程都没有了,但负载平均值已经翻了一番。
你知道,想想看,我可能是错在什么平均负荷意味着什么,我从来没有真正看过它,只是从一个朋友的定义,它告诉我这是CPU消费,如多less进程正在等待使用CPU,所以如果我也能得到这是什么的解释,以及如何让它回落。
但是我真正来到这里的问题是:有没有办法可以列出消耗最多cpu的进程?
htop或只是顶部
负载是衡量资源争用的一种方式,而不仅仅是CPU使用率。 如果许多进程处于“等待”状态(例如由于高磁盘IO或内存交换),则可能会导致高负载,而实际CPU使用率没有相应的峰值。 像top和ps这样的工具对于一个点来说可能是有帮助的,特别是如果你使用了一些选项来定制输出。 对于磁盘和内存利用率,您可以尝试解释iostat和vmstat的输出,或安装一个实用程序,如iotop
loadav只是告诉你有多less进程正在排队运行; 你可以绑定在磁盘,networking,NFS,locking争用,交换或其他一些条件。
我会倾向于安装sar(并使用磁盘统计信息的-d选项)来收集数据,看看发生了什么; 这会给你合理详细的你的CPU,内存configuration文件和磁盘行为的细分。
作为一个快速的经验法则,如果你在vmstat,top,atop,dstat,sar等工具中显示了“空闲”的时间,那么你没有用完CPU,而是用完了其他一些资源。
你也可以看看dstat,它有一些很好的插件来检查应用程序的不当行为。