1 minute read

0x01 Disk

1. IO status iostat/iotop

用于查看CPU状态统计信息和各类设备、磁盘分区的IO信息统计

iostat [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] \
	[ -x ] [ -y ] [ -z ] \
	[ -j  {  ID  | LABEL | PATH | UUID | ... } ] \
	[ [ -T ] -g group_name ] \
	[ -p [device [,...] | ALL ] ] \
	[ device [...] | ALL ] [ interval [ count ] ]

第一次执行,默认输出开机到现在全部统计信息,之后每隔interval输出一次,一共输出count次,输出分为cpudevice两部分内容

输出表项分析

CPU 表部分

表项内容
%userCPU在用户层级执行应用程序的时间占比
%niceCPU在用户层级,执行设有nice priority的application的时间占比
%systemCPU在系统层面执行内核程序的时间占比
%iowait显示CPU因为系统外部磁盘IO导致的空闲时间占比
%steal显示虚拟化导致的CPU非自愿等待时间(此时supervisor在服务其他虚拟虚拟处理器)
%idle显示CPU因为非磁盘IO原因导致的空闲时间占比

Device 表部分

表名内容
Device设备名称,在/dev中可以看到
tpstransfers per second
Blk_reads/s \ Blk_wrtn/s当将一些设备设置Block时,每秒读写数据量
Blk_read \ Blk_wrtn当将一些设备设置Block时,读写总量
rrqm/s \ wrqm/s每秒被merge的读写请求数
r/s \ w/s每秒从设备(drive expressed)读写的数据量
rsec/s \ wsec/s每秒读写的扇区数(sector)
avgrq-sz平均请求扇区的大小
avgqu-sz是平均请求队列的长度。毫无疑问,队列长度越短越好。
await每一个IO请求的处理的平均时间(单位是微秒毫秒)。这里可以理解为IO的响应时间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。这个时间包括了队列时间和服务时间,也就是说,一般情况下,await大于svctm,它们的差值越小,则说明队列时间越短,反之差值越大,队列时间越长,说明系统出了问题。
r_await \ w_awit读写请求被设备响应的平均时间
svctm表示平均每次设备I/O操作的服务时间(以毫秒为单位)。如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,如果await的值远高于svctm的值,则表示I/O队列等待太长,系统上运行的应用程序将变慢。
%util在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度

参数内容

过滤报告输出参数

参数内容
-c单独显示CPU报告
-d单独显示Device报告
-g <group_name>设定需要显示的设备群
-p [ { device [,...] | ALL } ]对于选定设备的不同分区单独显示
-j { ID | LABEL | PATH | UUID | ... }设定需要显示的设备名
-x显示额外统计参数

设定输出格式

参数内容
-k \ -m设定数据统计单位 Kb/s 还是 Mb/s
-N显示LVM2设备统计信息时,使用device mapper name标识设备
-h更加便于阅读
-y执行多次输出时,第一次不再输出从开机到现在的统计信息
-z对于统计时间内的非活动设备不显示
-t每次输出时,显示输出时间
-T只显示Group统计结果,不显示独立设备显示结果

1.2. Disk capacity df / du

命令格式

输出表项分析

参数内容

0x02 Memory

2.1.

查看内存的方法

  • top
  • free
  • cat /pro/meminfo
  • ps aux –sort -rss

  • vmstat -s
  • gnome-shell-system-monitor-applet

0x03 CPU

0x04 Network