700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > linux 系统性能监控工具(1) vmstat与dstat命令详解。

linux 系统性能监控工具(1) vmstat与dstat命令详解。

时间:2023-08-06 21:55:34

相关推荐

linux 系统性能监控工具(1) vmstat与dstat命令详解。

vmstat

功能 :展现给定时间间隔服务器状态,包括cpu使用率,内存使用,虚拟内存交换情况,io读写情况

基础用法

一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数。

[root@xiaoagiao bak]# vmstatprocs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r b swpd free buff cache si so bi bo in cs us sy id wa st2 00 1544676 2108 170872 0 0 414 44 133 0 0 99 0 0[root@xiaoagiao bak]# 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 st2 00 1536356 2108 176904 0 0 132 35 87 0 0 100 0 00 00 1536356 2108 176904 0 002 35 73 0 0 100 0 00 00 1536356 2108 176904 0 000 41 77 0 1 99 0 0[root@xiaoagiao bak]# vmstat 1#每秒输出一次,不停输出,不退出procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r b swpd free buff cache si so bi bo in cs us sy id wa st1 00 1536356 2108 176904 0 0 132 35 86 0 0 100 0 00 00 1536356 2108 176904 0 000 42 79 0 0 100 0 00 00 1536356 2108 176904 0 000 27 56 0 0 100 0 0……

字段含义

选项

举例

[root@xiaoagiao bak]# vmstat -a #显示活跃和非活跃内存inact,activeprocs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r b swpd free inact active si so bi bo in cs us sy id wa st1 00 1536148 81892 107872 0 0 112 34 83 0 0 100 0 0

[root@xiaoagiao bak]# vmstat -d #显示各个磁盘相关统计信息disk- ------------reads------------ ------------writes----------- -----IO------total merged sectorsms total merged sectorsms cur secsda45954 263060 58355 3924 278 54078 49410046sdb2880 23268 119500 0 000sdc1150 536835200 0 000sdd1760 747240700 0 000sde1190 540030900 0 000sdf1350 741656600 0 000sr0 230 207619100 0 000md0 820 4160 000 0 000[root@xiaoagiao bak]# vmstat -D #显示磁盘总体信息8 disks12 partitions5533 total reads4 merged reads318220 read sectors61375 milli reading3939 writes278 merged writes54228 written sectors49442 milli writing0 inprogress IO46 milli spent IO[root@xiaoagiao bak]# vmstat -p /dev/sda1 #显示指定磁盘分区统计信息sda1reads read sectors writes requested writes114347088 1031 4137

CPU的性能监控

主要关注3个指标运行队列、CPU使用率和上下文切换,理解这3个指标的概念和原理对于发现和处理CPU性能问题有很大的帮助运行队列:

每个CPU都会维护一个运行队列,调度器会不断地轮询让队列中的进程运行,直到进程运行完毕将其由队列中删除。如果CPU过载,就会出现调度器跟不上系统要求,导致运行队列中等待运行的进程越来越多。正常来说,每个CPU的运行队列不要超过3,如果是双核CPU 就不要超过6CPU使用率用户进程(us):运行用户进程所占用的CPU时间的百分比。系统进程(sy):运行系统进程和中断所占用的CPU的时间百分比。等待IO(id):因为IO等待而使CPU处于idle状态的时间百分比。空闲(wa):CPU处于空闲状态的时间百分比

如果CPU的空闲率长期低于10%,那么表示CPU的资源已经非常紧张,应该考虑进程优化或添加更多地CPU。

“等待IO”表示CPU因等待, IO 资源而被迫处于空闲状态,这时候的CPU并没有处于运算状态,而是被白白浪费了,所以“等待IO应该越小越好。

上下文切换

通过CPU时间轮询的方法,Linux能够支持多任务同时运行。对于普通的CPU,内核会调度和执行这些进程,每个进程都会被分配CPU时 间片并运行。当一个进程用完时间片或者被更高优先级的进程抢占时间块后,它会被转到CPU的等待运行队列中,同时让其他进程在CPU上运行。这个进程切换的过程被称为上下文切换。过多的上下文切换会造成系统的很大的开销

dstat

安装软件

yum install dstat -y

选项

直接查看

执行 dstat 命令的时候,默认他会 收集-cpu-、-disk-、-net-、-paging-、-system-的数据,一秒钟收集一次

[root@xiaoagiao ~]# dstatYou did not select any stats, using -cdngy by default.----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--usr sys idl wai hiq siq| read writ| recv send| in out | int csw0 0 99 0 0 0| 21k 13k| 00 | 00 | 37 900 0 100 0 0 0| 00 | 60B 242B| 00 | 32 701 0 99 0 0 0| 00 | 60B 114B| 00 | 34 660 0 100 0 0 0| 00 | 60B 106B| 00 | 25 560 0 100 0 0 0| 00 | 60B 98B| 00 | 38 690 1 99 0 0 0| 00 | 60B 98B| 00 | 30 620 0 100 0 0 0| 00 | 60B 98B| 00 | 32 600 0 100 0 0 0| 00 | 60B 98B| 00 | 26 570 0 100 0 0 0| 00 | 60B 98B| 00 | 36 670 0 100 0 0 0| 00 | 60B 98B| 00 | 25 580 0 100 0 0 0| 00 | 60B 90B| 00 | 35 650 1 99 0 0 0| 0 2048B| 120B 98B| 00 | 49 2390 0 100 0 0 0| 00 | 300B 264B| 00 | 42 700 0 100 0 0 0| 00 | 210B 158B| 00 | 36 710 1 99 0 0 0| 00 | 120B 98B| 00 | 36 700 0 100 0 0 0| 00 | 120B 98B| 00 | 26 57 ^C

可以指定高输出次数和间隔时间

dstat 1 5 :每隔一秒采集一次,一共输出5次。

查看cpu的使用情况(实时显示)

dstat -c

[root@xiaoagiao ~]# dstat -c----total-cpu-usage----usr sys idl wai hiq siq0 0 99 0 0 00 0 100 0 0 00 0 100 0 0 00 0 100 0 0 00 0 100 0 0 00 1 99 0 0 00 0 100 0 0 00 0 100 0 0 00 0 100 0 0 00 1 99 0 0 0

关于cpu资源消耗数据

[root@xiaoagiao ~]# dstat -c -y -l --proc-count --top-cpu----total-cpu-usage---- ---system-- ---load-avg--- proc -most-expensive-usr sys idl wai hiq siq| int csw | 1m 5m 15m |tota| cpu process0 0 100 0 0 0| 36 85 | 0 0.01 0.05| 97|vmtoolsd0.10 0 100 0 0 0| 31 67 |0.08 0.03 0.05| 97|python21.00 0 100 0 0 0| 34 70 |0.08 0.03 0.05| 97|vmtoolsd1.00 1 99 0 0 0| 33 64 |0.08 0.03 0.05| 97|0 0 100 0 0 0| 35 70 |0.08 0.03 0.05| 97|0 0 100 0 0 0| 33 68 |0.08 0.03 0.05| 97|0 0 100 0 0 0| 34 70 |0.08 0.03 0.05| 97|^C

实时查看磁盘读写数据大小

dstat -d

[root@xiaoagiao ~]# dstat -d-dsk/total-read writ21k 13k000000000 20k000000 ^C

查看内存使用情况

dstat -m

[root@xiaoagiao ~]# dstat -m 1 4------memory-usage-----used buff cach free226M 2416k 366M 1225M226M 2416k 366M 1225M226M 2416k 366M 1225M226M 2416k 366M 1225M226M 2416k 366M 1225M

查看所有内存都有谁在使用

[root@xiaoagiao ~]# dstat -g -l -m -s --top-mem---paging-- ---load-avg--- ------memory-usage----- ----swap--- --most-expensive-in out | 1m 5m 15m | used buff cach free| used free| memory process00 | 0 0.02 0.05| 223M 2416k 366M 1228M| 0 2048M|firewalld 28.0M00 | 0 0.02 0.05| 223M 2416k 366M 1228M| 0 2048M|firewalld 28.0M00 | 0 0.02 0.05| 223M 2416k 366M 1228M| 0 2048M|firewalld 28.0M00 | 0 0.02 0.05| 223M 2416k 366M 1228M| 0 2048M|firewalld 28.0M00 | 0 0.02 0.05| 223M 2416k 366M 1228M| 0 2048M|firewalld 28.0M00 | 0 0.02 0.05| 223M 2416k 366M 1228M| 0 2048M|firewalld 28.0M00 | 0 0.02 0.05| 223M 2416k 366M 1228M| 0 2048M|firewalld 28.0M00 | 0 0.02 0.05| 223M 2416k 366M 1228M| 0 2048M|firewalld 28.0M^C

查看io操作情况

dstat -r

[root@xiaoagiao ~]# dstat -r 1 4--io/total-read writ0.64 0.58000000

找出占用资源最高的进程和用户

查看当前占用I/O、cpu、内存等最高的进程信息可以使用dstat --top-mem --top-io --top-cpu

[root@xiaoagiao ~]# dstat --top-mem --top-cpu --top-io--most-expensive- -most-expensive- ----most-expensive----memory process | cpu process |i/o processfirewalld 28.0M|vmtoolsd0.1|systemd48k 33kfirewalld 28.0M||sshd: root@ 388B 164Bfirewalld 28.0M|vmtoolsd1.0|vmtoolsd 7517B 0firewalld 28.0M||sshd: root@ 155B 52Bfirewalld 28.0M|python21.0|sshd: root@ 155B 44Bfirewalld 28.0M||vmtoolsd 9448B 0firewalld 28.0M||sshd: root@ 148B 44Bfirewalld 28.0M||sshd: root@ 155B 36Bfirewalld 28.0M||sshd: root@ 155B 36B^C

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。