文章目录

  • 1.磁盘监控工具
  • 1.1.iostat
  • 1.2.iotop
  • 1.3.查看磁盘挂载情况
  • 2.CPU监控工具
  • 2.1.top
  • 2.2.htop
  • 3.内存监控工具
  • 3.1.free
  • 4.网络监控工具
  • 4.1.iftop
  • 4.2.网络抓包


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:改变线程的优先级

1.3.查看磁盘挂载情况

lsblk

NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0           11:0    1 1024M  0 rom
vda          252:0    0   30G  0 disk
├─vda1       252:1    0    2G  0 part /boot
└─vda2       252:2    0   28G  0 part
  ├─cl-root  253:0    0   26G  0 lvm  /
  └─cl-swap  253:1    0    2G  0 lvm  [SWAP]
vdb          252:16   0   20G  0 disk
└─vdb1       252:17   0   20G  0 part
  └─vg1-data 253:2    0   20G  0 lvm  /xx/data

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

  • *安装
    yum install -y iftop
  • 执行效果
    iftop
  • 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

4.2.网络抓包

#待完善
ss -tan