在使用操作系统的过程中,我们经常需要查看当前的性能如何,需要了解CPU、内存和硬盘的使用情况; 本节介绍的这几个工具能满足日常工作要求;
【监控CPU】
[root@wzxaini9 ~]# sar -u ......
例如
[root@wzxaini9 ~]# sar -u 1 2 Linux 4.4.24-2.al7.x86_64 (iZbp1ivyc7d2tvs7ecx38wZ) 04/29/2019 _x86_64_ (2 CPU) 11:25:40 AM CPU %user %nice %system %iowait %steal %idle 11:25:41 AM all 0.00 0.00 0.50 0.00 0.00 99.50 11:25:42 AM all 0.00 0.00 0.00 0.00 0.00 100.00 Average: all 0.00 0.00 0.25 0.00 0.00 99.75
后面的两个参数表示监控的频率,比如例子中的1和2,表示每秒采样一次,总共采样2次;
查看CPU平均负载
[root@wzxaini9 ~]# sar -q 1 2 Linux 4.4.24-2.al7.x86_64 (dabingfuwu-hd1-vpc-mokuai_admin-001) 04/29/2019 _x86_64_ (8 CPU) 11:30:25 AM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked 11:30:26 AM 0 353 0.11 0.31 0.21 0 11:30:27 AM 0 353 0.11 0.31 0.21 0 Average: 0 353 0.11 0.31 0.21 0
sar指定-q后,就能查看运行队列中的进程数、系统上的进程大小、平均负载等;
【查询内存】
查看内存使用状况 sar指定-r之后,可查看内存使用状况;
[root@wzxaini9 ~]# sar -r 1 2 Linux 4.4.24-2.al7.x86_64 (dabingfuwu-hd1-vpc-mokuai_admin-001) 04/29/2019 _x86_64_ (8 CPU) 11:31:40 AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty 11:31:41 AM 1847376 14584732 88.76 764504 12067388 2092820 12.74 6871916 6685512 96 11:31:42 AM 1847340 14584768 88.76 764504 12067388 2100840 12.78 6871628 6685508 96 Average: 1847358 14584750 88.76 764504 12067388 2096830 12.76 6871772 6685510 96
查看内存使用量
[root@wzxaini9 ~]# free -m total used free shared buff/cache available Mem: 16046 778 1804 1 13464 14899 Swap: 0 0 0
【查询页面交换】
查看页面交换发生状况 页面发生交换时,服务器的吞吐量会大幅下降;服务器状况不良时,如果怀疑因为内存不足而导致了页面交换的发生,可以使用sar -W这个命令来确认是否发生了大量的交换;
[root@wzxaini9 ~]# sar -W 1 2 Linux 4.4.24-2.al7.x86_64 (dabingfuwu-hd1-vpc-mokuai_admin-001) 04/29/2019 _x86_64_ (8 CPU) 11:33:07 AM pswpin/s pswpout/s 11:33:08 AM 0.00 0.00 11:33:09 AM 0.00 0.00 Average: 0.00 0.00
【查询硬盘使用】
查看磁盘空间利用情况
[root@wzxaini9 ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 2.0G 0 2.0G 0% /dev tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs 2.0G 548K 2.0G 1% /run tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup /dev/vda1 99G 12G 82G 13% / tmpfs 396M 0 396M 0% /run/user/0
查询当前目录下空间使用情况
[root@wzxaini9 ~]# du -sh 848M .
· -h是人性化显示
· -s是递归整个目录的大小
查看该目录下所有文件夹的排序后的大小
[root@wzxaini9 ~]#du -sh `ls` 4.0K a.txt 1.8M composer 9.8M etcd-v3.2.1-linux-amd64.tar.gz 9.0M etcd-v3.2.1-linux-arm64.tar.gz 16K logtail.sh 28K node2.etcd 20K scripts
【综合应用】
当系统中sar不可用时,可以使用以下工具替代:linux下有 vmstat、Unix系统有prstat
例:查看cpu、内存、使用情况: vmstat n m (n 为监控频率、m为监控次数)
[root@wzxaini9 /]# 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 2 0 0 167644 215408 1256224 0 0 1 12 13 7 0 0 99 0 0 0 0 0 167504 215408 1256256 0 0 0 40 128 236 1 1 97 1 0 0 0 0 167504 215408 1256264 0 0 0 0 101 191 0 0 100 0 0
使用watch 工具监控变化 当需要持续的监控应用的某个数据变化时,watch工具能满足要求; 执行watch命令后,会进入到一个界面,输出当前被监控的数据,一旦数据变化,便会高亮显示变化情况;
登录后可发表评论