linux服务器负载分析
一般做压力测试都需要监测服务器的状态,以评估服务器负载能力,除了可以通过工具(如zabbix)进行分析之外,还可以使用命令来分析
1.uptime命令检查服务器平均负载
[root@iZ23j6e7bheZ ~]# uptime 20:57:23 up 13 days, 2:00, 2 users, load average: 0.00, 0.00, 0.00
解析:
load average分别代表1分钟负载 5分钟负载 15分钟负载
2.iostat检查服务器IO使用情况
[root@iZ23j6e7bheZ ~]# iostat -m Linux 2.6.32-431.20.3.el6.x86_64 (iZ23j6e7bheZ) 04/16/2015 _x86_64_ (1 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.21 0.00 0.13 0.01 0.00 99.65 Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn xvda 0.11 0.00 0.00 251 596
解析:
%user: 在用户级别运行所使用的CPU的百分比.
%nice: nice操作所使用的CPU的百分比.
%system: 在系统级别(kernel)运行所使用CPU的百分比.
%iowait: CPU等待硬件I/O时,所占用CPU百分比.
%idle: CPU空闲时间的百分比.
Device段:
tps: 每秒钟发送到的I/O请求数.
Blk_read /s: 每秒读取的block数.
Blk_wrtn/s: 每秒写入的block数.
Blk_read: 读入的block总数.
Blk_wrtn: 写入的block总数.
3.vmstat命令监控服务器状态值
[root@iZ23j6e7bheZ ~]# vmstat procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 6356 105640 250424 0 0 0 1 18 1 0 0 100 0 0解析:
r:表示运行队列(分配到CPU的进程数量)
b:阻塞的进程数量
swpd:虚拟内存使用大小
free:空闲物理内存大小
buff:liunx缓存大小
cache:文件缓存
si:每秒读取虚拟内存大小
so:每秒写入虚拟内存大小
bi:块设备(磁盘等)每秒接收的块数量(跟磁盘最小簇有关)
bo:块设备每秒发送块的数量
in:每秒cpu的中断次数
cs:每秒上下文切换次数(调用系统函数,就要进行上下文切换,这个值越小越好。例如php-fpm的动态模式,在高并发下会新建php-cgi进程,这样会导致cs增大;同理,在代码中调用系统函数,导致上下文切换,非常耗资源)
us:用户CPU时间
sy:系统CPU时间
id:空闲CPU时间
wt:等待IO的CPU时间
4.脑残top命令
top - 21:15:24 up 13 days, 2:18, 1 user, load average: 0.13, 0.04, 0.01 Tasks: 76 total, 1 running, 75 sleeping, 0 stopped, 0 zombie Cpu(s): 0.3%us, 0.0%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 501492k total, 455900k used, 45592k free, 90888k buffers Swap: 0k total, 0k used, 0k free, 235952k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1148 root 20 0 768m 8892 7124 S 0.3 1.8 22:43.36 AliHids 1 root 20 0 19232 1512 1224 S 0.0 0.3 0:00.76 init 2 root 20 0 0 0 0 S 0.0 0.0 0:00.02 kthreadd 3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0 4 root 20 0 0 0 0 S 0.0 0.0 0:02.79 ksoftirqd/0 5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0 6 root RT 0 0 0 0 S 0.0 0.0 0:01.94 watchdog/0 7 root 20 0 0 0 0 S 0.0 0.0 0:52.26 events/0 8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cgroup 9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khelper 10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 netns 11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 async/mgr 12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 pm 13 root 20 0 0 0 0 S 0.0 0.0 0:00.00 xenwatch 14 root 20 0 0 0 0 S 0.0 0.0 0:00.01 xenbustop命令中综合很多信息,前3个的信息一般都可以在这个top命令中找到,而且,这个top命令还会显示每个进程的详细信息。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。