利用Linux Top命令了解IO状况(linuxtopio)

Linux Top命令是系统管理者平时最常用的一种Linux系统监控工具,系统管理员可以通过它来了解系统的动态变化。在排查系统IO问题时,它也是一个非常有用的工具。

首先,我们可以使用Linux Top命令来查看系统正在运行的任务:

$ top 
top - 15:30:16 up 4 days, 2:02, 1 user, load average: 0.09, 0.05, 0.04
Tasks: 218 total, 1 running, 217 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 0.3%sy, 0.0%ni,99.5%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st
Mem: 1048576k total, 505584k used, 442808k free, 17672k buffers
Swap: 0k total, 0k used, 0k free, 0k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
9 root 20 0 1764 836 436 S 0 0.1 0:00.00 sshd
10 root 15 0 10772 1172 868 S 0 0.1 0:00.00 xinetd

从上面的输出中,我们可以知道系统中有218个任务正在运行,而Cpu(s)中的%us、%sy和%ni列分别表示用户态、系统态和用户当前正在运行而没有被调度的比例。

我们还可以结合Linux的I/O监控工具iostat来查看I/O相关的状态,这里以终端输出的方式来查看我们的I/O状态:

$iostat
Linux 3.2.0-4-amd64 (server-1) 10/13/16 _x86_64_ (2 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle
0.97 0.20 0.27 0.03 0.00 98.53
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.17 4.30 0.07 pi 22.39

从上面可以看到,当前系统的CPU使用率很低,未经优化的I/O使用率很低,已经成功维护了一个平稳的运行状态。

最后,我们可以使用Linux的vmstat工具来查看内存状态:

$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 506432 19316 501832 0 0 8 27 0 0 0 0 99 0 0

从上面的输出中,我们可以看到保留记忆,缓存记忆及虚拟内存相关数据,同时可以看到CPU使用率、I/O使用率等。

综上,Linux Top命令是一个很重要的工具,系统管理员可以利用它了解系统IO状态,更好地排查和解决系统可能出现的IO问题。


数据运维技术 » 利用Linux Top命令了解IO状况(linuxtopio)