分享很全的Linux监控命令,图文详述,应有尽有。
1.1 top
1.1.1 命令说明
Top 命令能够实时监控系统的运行状态,并且可以按照cpu、内存和执行时间进行排序
1.1.2 参数说明
命令行启动参数:
用法: top -hv | -bcisSHM -d delay -n iterations [-u user | -U user] -p pid [,pid ...]
-b : 批次模式运行。通常用作来将top的输出的结果传送给其他程式或储存成文件
-c : 显示执行任务的命令行
-d : 设定延迟时间
-h : 帮助
-H : 显示线程。当这个设定开启时,将显示所有进程产生的线程
-i : 显示空闲的进程
-n : 执行次数。一般与-b搭配使用
-u : 监控指定用户相关进程
-U : 监控指定用户相关进程
-p : 监控指定的进程。当监控多个进程时,进程ID以逗号分隔。这个选项只能在命令行下使用
-s : 安全模式操作
-S : 累计时间模式
-v : 显示top版本,然后退出。
-M : 自动显示内存单位(k/M/G)
1.全局命令
回车、空格 : 刷新显示信息
?、h : 帮助
= : 移除所有任务显示的限制
A : 交替显示模式切换
B : 粗体显示切换
d、s : 更改界面刷新时间间隔
G : 选择其它窗口/栏位组
I : Irix或Solaris模式切换
u、U : 监控指定用户相关进程
k : 结束进程
q : 退出top
r : 重新设定进程的nice值
W : 存储当前设定
Z : 改变颜色模板
2.摘要区命令
l : 平均负载及系统运行时间显示开关
m : 内存及交换空间使用率显示开关
t : 当前任务及CPU状态显示开关
1 : 汇总显示CPU状态或分开显示每个CPU状态
1.任务区命令
外观样式
b : 黑体/反色显示高亮的行/列。控制x和y交互命令的显示样式
x : 高亮显示排序的列
y : 高亮显示正在运行的任务
z : 彩色/黑白显示。
显示内容
c : 任务执行的命令行或进程名称
f、o : 增加和移除进程信息栏位及调整进程信息栏位显示顺序
H : 显示线程
S : 时间累计模式
u : 监控指定用户相关进程
任务显示的数量
i : 显示空闲的进程
n或# : 设置任务显示最大数量
任务排序(shift+f)
M : 按内存使用率排序
N : 按PID排序
P : 按CPU使用率排序
T : 按Time+排序
< : 按当前排序栏位左边相邻栏位排序
> : 按当前排序栏位右边相邻栏位排序
F 或 O : 选择排序栏位
R : 反向排序
1.1.3 结果说明
1.2 free
1.2.1 命令说明
Free命令是监控系统内存最常用的命令
1.2.2.参数说明
-m:以M为单位查看内存使用情况(默认为kb)
-b:以字节为单位查看内存使用情况
-s:可以在指定时间段内不简单监控内存的使用情况
1.2.3 结果说明
total:总计物理内存的大小。
Used:已使用多大。
Free:可用有多少。
shared:多个进程共享的内存总额。
buffers/cached:磁盘缓存的大小。
1.3 vmstat
1.1.1命令说明
可以监控操作系统的进程状态、内存、虚拟内存、磁盘IO、上下文、CPU的信息。
1.1.2参数说明
vmstat [-a] [-n] [-S unit] [delay [ count]]
-a:显示活跃和非活跃内存
-m:显示slabinfo
-n:只在开始时显示一次各字段名称。
-s:显示内存相关统计信息及多种系统活动数量。
delay:刷新时间间隔。如果不指定,只显示一条结果。
count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。
-d:显示各个磁盘相关统计信息。
-S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)
-V:显示vmstat版本信息。
-p:显示指定磁盘分区统计信息
-D:显示磁盘总体信息
1.1.3 结果说明
Procs
R:等待被执行的进程数,即表示运行和等待CPU时间片的进程数
B:排队的进程数,即等待资源的进程数
Memory
Swap : 虚拟内存,切换到虚拟内存的内存大小
Free: 空闲的物理内存大小
Buff: 缓冲区大小
Cache: 缓存大小
Swap
Si:磁盘写入虚拟内存,即由内存进入到虚拟内存的大小。
So:虚拟内存写入磁盘,即由虚拟内存进入到磁盘的大小。
Io
Bi:由块设备读入的数据总量,读磁盘
Bo:由块设备写入的数据总量,写磁盘
System
In: 每秒设备中断数
Cs:每秒上下文切换的次数
Cpu
Us:用户进程消耗cpu百分比
Sy:内核进程消耗cpu百分比
Id:cpu处于空闲状态的时间百分比
Wa:Io等待cpu所占时间的百分比
1.4 iostat
1.4.1命令说明
Iostat是对系统磁盘IO操作进行监控,它的输出主要显示磁盘的读写操作的统计信息。同时给出cpu的使用情况
1.4.2参数说明
iostat [ -c | -d ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ device [ ... ] | ALL ] [ -p [ device | ALL ] ] [ interval [ count ] ]
各选项以及参数含义如下:
-c: 仅显示CPU统计信息.与-d选项互斥.
-d :仅显示磁盘统计信息.与-c选项互斥.
-k :以K为单位显示每秒的磁盘请求数,默认单位块.
-p :device | ALL
与-x选项互斥,用于显示块设备及系统分区的统计信息.也可以在-p后指定一个设备名,如:
# iostat -p had
或显示所有设备
# iostat -p ALL
-t :在输出数据时,打印搜集数据的时间.
-V :打印版本号和帮助信息.
-x device 输出指定要统计的磁盘设备名称,默认为所有磁盘设备.
- interval :指两次统计间隔时间
- count :按照interval 指定的时间间隔统计的次数
1.4.3结果说明
Iostat的简单应用
Iostat磁盘监控
rrqm/s:每秒进行 merge 的读操作数目,即 delta(rmerge)/s 。
wrqm/s:每秒进行 merge 的写操作数目,即 delta(wmerge)/s 。
r/s:每秒完成的读 I/O 设备次数,即 delta(rio)/s 。
w/s: 每秒完成的写 I/O 设备次数,即 delta(wio)/s 。
rsec/s:每秒读扇区数,即 delta(rsect)/s。
wsec/s:每秒写扇区数,即 delta(wsect)/s
rkB/s:每秒读K字节数,是 rsect/s 的一半,因为每扇区大小为512字节。
wkB/s:每秒写K字节数,是 wsect/s 的一半
avgrq-sz:平均每次设备I/O操作的数据大小 (扇区),即 delta(rsect+wsect)/delta(rio+wio) 。
avgqu-sz:平均I/O队列长度,即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。
Await:平均每次设备I/O操作的等待时间 (毫秒),即 delta(ruse+wuse)/delta(rio+wio) 。
Svctm:平均每次设备I/O操作的服务时间 (毫秒),即 delta(use)/delta(rio+wio) 。
%util:一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的,
即 delta(use)/s/1000 (因为use的单位为毫秒) 。
Iostat cpu 监控
%usr:用户进程消耗的CPU时间百分比。
%nice: 运行正常进程消耗的CPU时间百分比。
%system:系统进程消耗的CPU时间百分比。
%iowait:I/O等待所占CPU时间百分比。
%steal:在内存紧张环境下,pagein强制对不同的页面进行的steal操作。
%idle:CPU空闲状态的时间百分比。