目录
一、Mpstat命令
Mpstat语法:
直接使用mpstat命令:
指定参数查看:
单独查看 一个cpu
stress压力测试
工具安装:
常用参数:
压力测试:
二、iostat命令
iostat命令语法
编辑
cpu属性说明:
磁盘属性说明:
-x 详细显示说明:
只显示磁盘设备 -d
三、iotop
命令使用方法:
四、pidstat
Pidstat使用方法:
示例一、查看所有进程的 CPU 使用情况( -u -p ALL)
示例二: 内存使用情况统计(-r)
示例三:显示各个进程的IO使用情况(-d)
示例四:显示每个进程的上下文切换情况(-w)
示例五:显示选择任务的线程的统计信息外的额外信息 (-t)
五、lsof
语法:
lsof输出各列信息的意义如下
FD文件描述符列表
文件类型:
实时系统监控工具,此命令会展现cpu、的一些统计信息,这些信息存放在/proc/stat文件中,在多cpu系统里,其不但能查看所有cpu的平均状况信息,而且能够查看特定cpu信息。
mpstat [-P {|ALL}] [internal [count]]
-P :指定要监控那个CPU,范围是[0~n-1],ALL表示监控所有CPU
internal:相邻两次采样的间隔时间
count:采样次数
各列的含义:
mpstat -P ALL 3 3 :查看所有cpu,每三秒查看一次,查看3次。
mpstat -P 0 1 2
单独指向一个cpu,需要注意的cpu序号是从0开始的
stress 是Unix类系统下的工作量和压力测试工具。它可对用户指定的CPU数量的I/O,内存和硬盘进行负载并报告它检测到任何错误。
如果采用YUM安装方式,则需要首先安装epel的扩展源,然后安装stress即可,相关命令如下:
yum install -y epel-release
yum install -y stress
-c | cpu | 产生n个进程,每个进程都反复不停的计算随机数的平方根 |
-i | io | 产生n个进程,每个进程反复调用 将内存上的内容写到硬盘上 |
-m | vm | 产生n个进程,每个进程不断分配和释放内存 |
-t | timout | 在n秒后结束进程 |
-d | hdd | 产生n个不断执行 write 和unlink函数的进程(创建文件、写入内容、删除文件 |
iostat主要用于输出磁盘io和cpu的统计信息
iostat 【选项】【时间间隔】【次数】
-c: 显示CPU使用情况
-d: 显示磁盘使用情况
-N: 显示磁盘阵列(LVM) 信息
-n: 显示NFS 使用情况
-k: 以 KB 为单位显示
-m: 以 M 为单位显示
-t: 报告每秒向终端读取和写入的字符数和CPU的信息
-V: 显示版本信息
-x: 显示详细信息
-p:[磁盘] 显示磁盘和分区的情况
rrqm/s: 每秒进行 merge 的读操作数目。即 rmerge/s
wrqm/s: 每秒进行 merge 的写操作数目。即 wmerge/s
r/s: 每秒完成的读 I/O 设备次数。即 rio/s
w/s: 每秒完成的写 I/O 设备次数。即 wio/s
rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。
wkB/s: 每秒写K字节数。是 wsect/s 的一半。
avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。
avgqu-sz: 平均I/O队列长度。
r_await: 每个读操作平均所需的时间不仅包括硬盘设备读操作的时间,还包括了在kernel队列中等待的时间。
w_await: 每个写操作平均所需的时间不仅包括硬盘设备写操作的时间,还包括了在kernel队列中等待的时间。
await: 平均每次设备I/O操作的等待时间 (毫秒)。
svctm: 平均每次设备I/O操作的服务时间 (毫秒)。
%util: 一秒中有百分之多少的时间用于 I/O 操作,即被io消耗的cpu百分比
iotop命令是一个用来监视磁盘io使用状况的top类工具。iotop具有与top相似的UI,其中包括PID、用户、O、进程等相关信息。Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写情况,如果你想知道每个进程是如何使用IO的就比较麻烦,使用iotop命令可以很方便的查看。
如果命令未安装可以从yum仓库进行安装
Iotop(选项)
iotop常用快捷键:
命令效果:
pidstat是sysstat工具的一个命令,用于监控全部或指定进程的cpu、内存一、线程、设备IO等系统资源的占用情况。pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。
Pidstat 【选项】 【时间间隔】【次数】
常用参数:
详细说明
使用-r选项,pidstat将显示各活动进程的内存使用统计:
报告IO统计显示以下信息:
lsof命令用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。找回/恢复删除的文件。是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所以需要root用户执行。
在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。
lsof(选项)
选项 | 描述 |
---|---|
-a | 列出打开文件存在的进程; |
-c<进程名> | 列出指定进程所打开的文件; |
-g | 列出GID号进程详情; |
-d<文件号> | 列出占用该文件号的进程; |
+d<目录> | 列出目录下被打开的文件; |
+D<目录> | 递归列出目录下被打开的文件; |
-n<目录> | 列出使用NFS的文件; |
-i<条件> | 列出符合条件的进程。(4、6、协议、:端口、 @ip ) |
-p<进程号> | 列出指定进程号所打开的文件; |
-u | 列出UID号进程详情; |
-h | 显示帮助信息 |
-v | 显示版本信息 |
[root@localhost~]# lsof
command PID USER FD type DEVICE SIZE NODE NAME