文章目录
- 1.磁盘监控工具
-
- 1.1.iostat
- 1.2.iotop
- 2.CPU监控工具
-
- 2.1.top
- 2.2.htop
- 3.内存监控工具
-
- 3.1.free
- 4.网络监控工具
-
- 4.1.iftop
1.磁盘监控工具
1.1.iostat
iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。
-
iostat 安装
iostat属于sysstat软件包,可以直接安装。
yum install sysstat -
常用命令参数组合
1)iostat -d -k -x 1 100
2)iostat -d -m -x 1 100 -
参数说明:
-x:更详细的io统计信息;-k:以kB为单位显示读写信息;-m:以mB为单位显示读写信息;-d:显示磁盘使用情况;1:每秒打印一次到控制台;100:打印100次结束;
- 输出说明
选项 | 说明 |
---|---|
rrqm/s | 每秒对该设备的读请求被合并次数,文件系统会对读取同块(block)的请求进行合并 |
wrqm/s | 每秒对该设备的写请求被合并次数 |
r/s | 每秒完成的读次数 |
w/s | 每秒完成的写次数 |
rkB/s | 每秒读数据量(kB为单位);如果参数指定的是-m选项,则为rMB/s |
wkB/s | 每秒写数据量(kB为单位);如果参数指定的是-m选项,则为wMB/s |
avgrq-sz | 平均每次IO操作的数据量(扇区数为单位) |
avgqu-sz | 平均等待处理的IO请求队列长度 |
await | 平均每次IO请求等待时间(包括等待时间和处理时间,毫秒为单位) |
svctm | 平均每次IO请求的处理时间(毫秒为单位) |
%util | 秒中有百分之多少的时间用于 I/O ,如果%util接近100%,说明产生的I/O请求太多,I/O系统已经满负荷 |
1.2.iotop
iotop是一款开源、免费的用来监控磁盘I/O使用状况的类似top命令的工具,iotop可以监控进程的I/O信息。它是Python语言编写的,与iostat工具比较,iostat是系统级别的IO监控,而iotop是进程级别IO监控。目前最新的版本为iotop 0.6。其官方网址http://guichaz.free.fr/iotop/
- iotop安装
注意,iotop的安装有前提条件(如果操作系统不满足这些条件,iotop无法正确安装):1)内核版本为2.6.20或更高版本;2)Python 2.7或更高的版本;yum -y install iotop
- 命令可选项
执行 iotop --help 查看可选项Options:--version 显示版本号-h, --help 显示帮助信息-o, --only 只显示正在产生I/O的进程或线程,运行过程中,可以通过按o随时切换-b, --batch 非交互模式下运行,一般用来记录日志-n NUM, --iter=NUM 设置监控(显示)NUM次,主要用于非交互模式。默认无限-d SEC, --delay=SEC 设置显示的间隔秒数,支持非整数-p PID, --pid=PID 指定进程/线程ID,默认所有-u USER, --user=USER 指定用户-P, --processes 只显示进程,不显示所有线程-a, --accumulated 累积的I/O,显示从iotop启动后每个进程累积的I/O总数,便于诊断问题 -k, --kilobytes 显示使用KB单位-t, --time add a timestamp on each line (implies --batch)-q, --quiet suppress some lines of header (implies --batch)
- iotop的快捷键
r:反向排序,
o:切换至选项--only,
p:切换至--processes选项,
a:切换至--accumulated选项
q:退出
i:改变线程的优先级
2.CPU监控工具
2.1.top
这里不在说明
2.2.htop
-
安装
yum install -y htop -
优点
htop是Linux系统中的一个互动的进程查看器,与Linux传统的top比较的话,htop更人性化并且还支持鼠标操作!
(1) 在htop中,可以垂直和水平滚动列表,查看所有进程和完整的命令行。
(2) 在top中,您按下的每个未分配的键都有延迟(尤其是当多键转义序列意外触发时)。
(3) htop启动得更快(top似乎在显示任何东西之前会收集一段时间的数据)。
(4) 在htop中,您不需要输入进程号来终止进程,而在top中,您需要这样做。
(5) 在htop中,您不需要输入进程编号或优先级值来重新分配进程,而在top中,您需要这样做。
(6) 在htop中,您可以同时杀死多个进程。
(7) top更老,因此更容易测试。
htop命令输出总共分成了五个展示区:
(1)CPU状态区域
(2)整体状态区域
(3)内存状态区域
(4)进程状态区域
(5)交互控制区域
htop通过进度条展示每个CPU逻辑核心的使用百分比,并使用不同的颜色进行区分。
- 整体状态区域
(1)Tasks显示进程总数,当前运行的进程数
(2)Load average显示的是系统的1分钟,5分钟,10分钟的平均负载情况
(3)Uptime显示系统运行了多长时间
- 进程状态区域
PID:表示进程号,是非零正整数
USER:发起该进程的用户名
PRI:进程优先级
NI:(nice)进程的优先级别数值
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的运行状况(1) R 表示正在运行(2) S 表示休眠(3) Z 表示僵死状态(4) N 表示该进程优先值是负数
CPU%:进程占用的CPU使用率
MEM%:此进程占用的物理内存和总内存的百分比
TIME%:启动进程后占用CPU的累计时长
Command:进程启动的启动命令名称即路径
- 交互控制区域
F1;查看htop说明
F2;htop设定
F3;搜索进程
F4;进程过滤器
F5;显示属性结构
F6;折叠或展开(新版本里的),或选择排序方式(旧版本里的)
F7; 减少nice值,提高进程优先级
F8; 增加nice值,降低进程优先级
F9; 可对进程传递信号
F10; 退出
3.内存监控工具
3.1.free
4.网络监控工具
4.1.iftop
1)界面最上方显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的;
2)中间的<= =>这两个左右箭头,表示的是流量的方向;
3)最下方TX:发送流量RX:接收流量TOTAL:总流量cum:运行iftop到目前时间的总流量peak:流量峰值rates:分别表示过去 2s 10s 40s 的平均流量
- iftop相关参数说明
-i 设定监测的网卡,如:# iftop -i eth1
-B 以bytes为单位显示流量(默认是bits),如:# iftop -B
-n 使host信息默认直接都显示IP,如:# iftop -n
-N 使端口信息默认直接都显示端口号,如: # iftop -N
-F 显示特定网段的进出流量,如# iftop -F 172.30.1.0/24或# iftop -F 172.30.1.0/255.255.255.0
-h(display this message),帮助,显示参数信息
-p 使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的IP信息;
-b 使流量图形条默认就显示;
-P 使host信息及端口信息默认就都显示;
-m 设置界面最上边的刻度的最大值,刻度分五个大段显示,例:# iftop -m 100M