Linux Ops Tools
CPU
top htop
性能优化
top htop
top第三行显示,其中有两个值很关键:
%id:空闲CPU时间百分比,如果这个值过低,表明系统CPU存在瓶颈;
%wa:等待I/O的CPU时间百分比,如果这个值过高,表明IO存在瓶颈;
free vmstat
io瓶颈
如果IO存在性能瓶颈,top工具中的%wa会偏高;
进一步分析使用 iostat 工具:
cpu属性值说明:
%iowait:CPU等待输入输出完成时间的百分比【IO延迟】。
%idle:CPU空闲时间百分比。
注:
如果%iowait的值过高,表示硬盘存在I/O瓶颈。
%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。
%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明CPU。
disk属性值说明:
r/s: 每秒完成的读 I/O 设备次数。即 rio/s
w/s: 每秒完成的写 I/O 设备次数。即 wio/s
rkB/s: 每秒读K字节数
wkB/s: 每秒写K字节数.
await: 平均每次设备I/O操作的等待时间 (毫秒)。
svctm: 平均每次设备I/O操作的服务时间 (毫秒)。
%util: 一秒中有百分之多少的时间用于 I/O 操作
注:
如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。idle小于70% IO压力就较大了。
sar 可以连续对系统取样,获得大量的取样数据;取样数据和分析的结果都可以存入文件,由于使用太复杂,暂时不讲,要用的时候自己看。
怀疑CPU存在瓶颈,可用 sar -u 和 sar -q 等来查看
怀疑内存存在瓶颈,可用sar -B、sar -r 和 sar -W 等来查看
怀疑I/O存在瓶颈,可用 sar -b、sar -u 和 sar -d 等来查看
iotop常用快捷键:
左右箭头:改变排序方式,默认是按IO排序。
o:只显示有IO输出的进程。
-b
:以批处理模式运行。-d 1
:每隔 1 秒更新一次,默认1秒。-n 60
:运行 60 次(即 60 秒)。
网络工具
iftop
mtr 查看网络链路质量
ss, lsof, telnet