性能监控
引用:linux工具快速教程:https://linuxtools-rst.readthedocs.io/zh_CN/latest/index.html#
1、查看CPU使用率
$sar -u
eg:
$sar -u 1 2
[root@localhost common]# sar -u 1 2 Linux 3.10.0-693.el7.x86_64 (localhost.localdomain) 2020年07月28日 _x86_64_ (32 CPU) 09时13分13秒 CPU %user %nice %system %iowait %steal %idle 09时13分14秒 all 0.00 0.00 0.03 0.00 0.00 99.97 09时13分15秒 all 0.03 0.00 0.03 0.00 0.00 99.94 平均时间: all 0.02 0.00 0.03 0.00 0.00 99.95
后面的两个参数表示监控的频率,比如例子中的1和2,表示每秒采样一次,总共采样2次;
2、查看CPU平均负载
$sar -q 1 2
sar指定-q后,就能查看运行队列中的进程数、系统上的进程大小、平均负载等;
[root@localhost common]# sar -q 1 2 Linux 3.10.0-693.el7.x86_64 (localhost.localdomain) 2020年07月28日 _x86_64_ (32 CPU) 09时14分09秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked 09时14分10秒 0 511 0.00 0.01 0.05 0 09时14分11秒 0 511 0.00 0.01 0.05 0 平均时间: 0 511 0.00 0.01 0.05 0
3、查看内存使用状况
sar指定-r之后,可查看内存使用状况;
[root@localhost common]# sar -r 1 2 Linux 3.10.0-693.el7.x86_64 (localhost.localdomain) 2020年07月28日 _x86_64_ (32 CPU) 09时15分20秒 kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty 09时15分21秒 31011856 1727016 5.28 2132 569212 1734244 3.52 554624 264520 0 09时15分22秒 31012152 1726720 5.27 2132 569212 1734244 3.52 554852 264520 0 平均时间: 31012004 1726868 5.27 2132 569212 1734244 3.52 554738 264520 0
4、查看内存使用量
$free -m
5、查看页面交换发生状况
页面发生交换时,服务器的吞吐量会大幅下降;服务器状况不良时,如果怀疑因为内存不足而导致了页面交换的发生,可以使用sar -W这个命令来确认是否发生了大量的交换;
$sar -W 1 3
[root@localhost common]# sar -W 1 3 Linux 3.10.0-693.el7.x86_64 (localhost.localdomain) 2020年07月28日 _x86_64_ (32 CPU) 09时16分26秒 pswpin/s pswpout/s 09时16分27秒 0.00 0.00 09时16分28秒 0.00 0.00 09时16分29秒 0.00 0.00 平均时间: 0.00 0.00
6、查看磁盘空间利用情况
$df -h
7、查询当前目录下空间使用情况
du -sh -h是人性化显示 s是递归整个目录的大小
8、查看该目录下所有文件夹的排序后的大小
for i in `ls`; do du -sh $i; done | sort
或者
du -sh `ls`
9、综合应用
当系统中sar不可用时,可以使用以下工具替代:linux下有 vmstat、Unix系统有prstat
eg:
查看cpu、内存、使用情况:
vmstat n m (n 为监控频率、m为监控次数)
[root@localhost common]# vmstat 1 3 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 31012908 2132 828228 0 0 0 0 0 0 0 0 100 0 0 0 0 0 31012628 2132 828228 0 0 0 0 493 382 0 0 100 0 0 0 0 0 31012380 2132 828228 0 0 0 0 441 354 0 0 100 0 0
使用watch 工具监控变化
当需要持续的监控应用的某个数据变化时,watch工具能满足要求;
执行watch命令后,会进入到一个界面,输出当前被监控的数据,一旦数据变化,便会高亮显示变化情况;
eg:操作redis时,监控内存变化:
$watch -d -n 1 './redis-cli info | grep memory'
(以下为watch工具中的界面内容,一旦内存变化,即实时高亮显示变化)
Every 1.0s: ./redis-cli info | grep memory Mon Apr 28 16:10:36 2014
used_memory:45157376
used_memory_human:43.07M
used_memory_rss:47628288
used_memory_peak:49686080
used_memory_peak_human:47.38M