Linux系统测试常用命令合集

在开始之前请大家一定一定一定要注意:

1.命令中CPU各信息具体代表的含义;
2.监测系统情况的命令,务必在压力开始前执行,在压力结束后等待适当时间再结束,整个过程中出现数量极少的最高值和最低值,在不影响系统实际运行的情况下,不建议采用;
3.务必避免直接键入“mpstat”这种写法,有效的测试结果一定要写两个数字参数,应为”mpstat 1 10“(如长时间查看,可适当修改);
4.长时间监测的可重定位到文件,有些命令支持输出到文件,如sar/dstat等,跑一晚上第二天查看log,减少等待;
5.每个命令有很多扩展参数,这里只简单介绍命令,扩展请自行摆渡;
6.现在的图形监控工具多种多样,支持配置之后一键监控,能生成图形及报表,本文只分享工作中使用到的监控相关命令,大家可根据需要自行选择。

1. iostat

主要用于对系统I/O的查看
iostat 1 10 //每秒输出一条,共计输出十次
[test@localhost ~]$ iostat 1 10

Linux 2.6.32-642.el6.x86_64 (localhost.localdomain) 	09/02/2019 	_x86_64_	(1 CPU)


avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.08    0.00    0.42    0.02    0.00   99.47


Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               0.45         4.09         7.15     842732    1474194

说明:

avg-cpu: 总体cpu使用情况统计信息,对于多核cpu,这里为所有cpu的平均值
%user: 在用户级别运行所使用的CPU的百分比.
%nice: nice操作所使用的CPU的百分比.
%sys: 在系统级别(kernel)运行所使用CPU的百分比.
%iowait: CPU等待硬件I/O时,所占用CPU百分比.
%idle: CPU空闲时间的百分比.
 
Device段:各磁盘设备的IO统计信息
tps: 每秒钟发送到的I/O请求数.
Blk_read /s: 每秒读取的block数.
Blk_wrtn/s: 每秒写入的block数.
Blk_read:   读入的block总数.
Blk_wrtn:  写入的block总数.

2.vmstat

实际内容包含大部分常规参数,从cpu到mem到swap基本足够了。

[test@localhost ~]$ vmstat 1 10
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 197172 173600 312828    0    0     2     4   50   73  0  0 99  0  0	
 0  0      0 197124 173600 312828    0    0     0     0   74  109  2  0 98  0  0	
 0  0      0 197124 173600 312828    0    0     0     0   57   75  2  1 97  0  0	
 0  0      0 197132 173600 312828    0    0     0     0   74  105  1  0 99  0  0	
 0  0      0 197008 173600 312828    0    0     0     0   72   75  2  1 97  0  0	
 0  0      0 197008 173600 312828    0    0     0     0   61   90  2  1 97  0  0	
 0  0      0 197008 173608 312828    0    0     0    56   62   72  1  1 98  0  0	
 0  0      0 197008 173608 312828    0    0     0     0   73  112  2  0 98  0  0	
 0  0      0 197008 173608 312828    0    0     0     0   65   76  2  2 96  0  0	
 0  0      0 197008 173608 312828    0    0     0     0  116  272  4  0 96  0  0	

说明:

r 列表示运行和等待cpu时间片的进程数
b 列表示在等待资源的进程数,比如正在等待I/O、或者内存交换等。
us 列显示了用户方式下所花费 CPU 时间的百分比。
sy 列显示了内核进程所花费的cpu时间的百分比
wa 列显示了IO等待所占用的CPU时间的百分比。
id 列显示了cpu处在空闲状态的时间百分比
in 列表示在某一时间间隔中观测到的每秒设备中断数。
cs列表示每秒产生的上下文切换次数
swpd 切换到内存交换区的内存数量(k表示)。
free 当前的空闲页面列表中内存数量(k表示)
buff 作为buffer cache的内存数量
cache: 作为page cache的内存数量
si 由内存进入内存交换区数量。
so由内存交换区进入内存数量。
bi 从块设备读入数据的总量(读磁盘)(每秒kb)。
bo 块设备写入数据的总量(写磁盘)(每秒kb)

3.sar

sar命令比较强大,包含了I/O、CPU、mem、swap、inode等信息,一般的监控足够了。
具体使用可以参考:https://www.cnblogs.com/liyongsan/p/7459523.html

[test@localhost ~]$ sar 1
Linux 2.6.32-642.el6.x86_64 (localhost.localdomain) 	09/02/2019 	_x86_64_	(1 CPU)
07:44:25 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
07:44:26 PM     all      2.04      0.00      3.06      0.00      0.00     94.90
07:44:27 PM     all      0.00      0.00      5.05      0.00      0.00     94.95
07:44:28 PM     all      1.01      0.00      3.03      0.00      0.00     95.96
07:44:29 PM     all      2.00      0.00      6.00      0.00      0.00     92.00

4.mpstat

针对多个CPU的查看

[test@localhost ~]$ mpstat 1
Linux 2.6.32-642.el6.x86_64 (localhost.localdomain) 	09/02/2019 	_x86_64_	(1 CPU)


07:49:46 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
07:49:47 PM  all    1.98    0.00    0.00    0.00    0.00    0.99    0.00    0.00   97.03
07:49:48 PM  all    1.01    0.00    1.01    0.00    0.00    0.00    0.00    0.00   97.98
07:49:49 PM  all    2.00    0.00    0.00    0.00    0.00    1.00    0.00    0.00   97.00
07:49:50 PM  all    2.00    0.00    1.00    0.00    0.00    0.00    0.00    0.00   97.00
07:49:51 PM  all    2.02    0.00    0.00    0.00    0.00    0.00    0.00    0.00   97.98

5.top

top应该是日常使用最多的命令,可以查看当前系统中所有进程执行过程中,对系统资源的占用。

[test@localhost ~]$ top

top - 20:07:00 up 2 days, 10:22,  2 users,  load average: 0.45, 0.66, 0.35
Tasks: 141 total,   2 running, 139 sleeping,   0 stopped,   0 zombie
Cpu(s):  5.6%us,  1.0%sy,  0.0%ni, 93.0%id,  0.0%wa,  0.0%hi,  0.3%si,  0.0%st
Mem:   1012080k total,   812600k used,   199480k free,   174108k buffers
Swap:  2031612k total,        0k used,  2031612k free,   312896k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                         
 2180 root      20   0  190m  44m  11m R  6.3  4.5   1:50.35 Xorg                                                                                            
11409 test      20   0  290m  14m 9748 S  2.0  1.4   0:12.42 gnome-terminal                                                                                  
   24 root      20   0     0    0    0 S  0.3  0.0   1:19.74 ata_sff/0      

6.dstat

dstat是我使用过最强大的监控命令,安装盘中自带,但未必会自动安装。里面使用方式多种多样,每个参数均可细化,能够自行定制并输出到文件。下面是我在测试过程中使用的格式。

dstat -t --top-io-adv --top-bio-adv -n
 
常用参数:
-c cpu,显示CPU系统占用,用户占用,空闲,等待,中断,软件中断等信息

-C 当有多个CPU时候,此参数可按需分别显示cpu状态

-d disk,显示磁盘读写数据大小

-n net 显示网络状态

-N net 有多块网卡时,指定要显示的网卡

-l load average 显示系统负载情况

-m memory 显示内存使用情况

-g page 显示页面使用情况

-p process 显示进程状态

-y system status

--ipc 显示ipc消息队列,信号等信息

--socket 用来显示tcp udp端口状态

-v vmstat 等同于 -pmgdsc -D total

--output 文件名 支持将状态信息以csv的格式重定向到指定的文件中

-r I/O请求情况

-s swap 显示交换分区使用情况

7.netstat

显示网络连接情况
可以区分呈现TCP/UDP、端口信息,用于排查网络问题。
https://www.cnblogs.com/ftl1012/p/netstat.html

8.watch

周期性查看命令执行结果。
watch命令之所以写在这里,基于它可以定时呈现的特点。例如定时显示系统磁盘空间:

#每5秒刷新一次fdisk -l命令,并高亮显示数字变化
watch -d -n 5 "fdisk -l" 
#每2秒查看一次某进程的内存占用情况
watch -d "cat /proc/[进程号]/status grep VmRSS"

9.其它

9.1w

显示目前登入系统的用户信息。

9.2fdisk -l

查看系统空间命令,需要实时呈现可以考虑结合”8.watch“

9.3 查看负载
#查看用户数及平均负载
  uptime

#查看负载
watch -d 'cat /proc/loadavg
sar -q 1
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值