Linux查看服务器负载

负载(load)是linux机器的一个重要指标,直观了反应了机器当前的状态。如果机器负载过高,那么对机器的操作将难以进行。Linux的负载高,主要是由于CPU使用、内存使用、IO消耗三部分构成。任意一项使用过多,都将导致服务器负载的急剧攀升。

查看服务器负载有多种命令,主要有 uptime ; w ; top ; iostat ,下面将一一展示。

w或者uptime都可以直接展示负载

[root@root-cloud ~]# uptime在这里插入图片描述
[root@root-cloud ~]# w
在这里插入图片描述

top命令

在这里插入图片描述
top命令能够清晰的展现出系统的状态,而且它是实时的监控,按q退出。

Tasks行,展示了目前的进程总数及所处状态,注意zombie,表示僵尸进程,不为0则表示有进程出现问题。

Cpu(s)行展示了当前CPU的状态,us表示用户进程占用CPU比例,sy表示内核进程占用CPU比例,id表示空闲CPU百分比,wa表示IO等待所占用的CPU时间的百分比。wa占用超过30%则表示IO压力很大。

Mem行展示了当前内存的状态,total是总的内存大小,userd是已使用的,free是剩余的,buffers是目录缓存。

Swap行同Mem行,cached表示缓存,用户已打开的文件。如果Swap的used很高,则表示系统内存不足。

在top命令下,按1,则可以展示出服务器有多少CPU,及每个CPU的使用情况

iostat命令

仅仅有top命令是不够的,因为它仅能展示CPU和内存的使用情况,对于负载升高的另一重要原因——IO没有清晰明确的展示。linux提供了iostat命令,可以了解io的开销。

输入iostat -x 1 5命令,表示开始监控输入输出状态,-x表示显示所有参数信息,1表示每隔1秒监控一次,5表示共监控5次。
[root@root-cloud ~]# iostat 1 5
在这里插入图片描述
[root@root-cloud ~]# iostat -x
在这里插入图片描述

总结:

其中rsec/s表示读入,wsec/s表示每秒写入,这两个参数某一个特别高的时候就表示磁盘IO有很大压力,util表示IO使用率,如果接近100%,说明IO满负荷运转

   1)使用top命令查看负载,在top下按“1”查看CPU核心数量,shift+"c"按cpu使用率大小排序,shif+"p"按内存使用率高低排序;

   2)使用iostat -x 命令来监控io的输入输出是否过大

参考:《鸟哥的Linux私房菜》

http://www.cnblogs.com/mfryf/archive/2012/03/12/2392012.html

http://linux.chinaunix.net/techdoc/system/2008/09/21/1033280.shtml

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐