CPU 关注指标

指标 常用工具 关注点 备注
平均负载 top

watch -d uptime
5 分钟平均负载

10 分钟平均负载

15 分钟平均负载
平均负载小于 cpu 核数 *80%
CPU 使用率 top

mpstat 1

pidstat -u 1
%usr

%sys

%iowait

%soft

%idle
%idle 应大于 20%

%usr 高说明有 CPU 密集型进程

%iowait 高说明有 IO 密集型进程
中断和上下文切换 vmstat 1

pidstat -w 1

watch cat /proc/interrupts 1
in(中断)

cs(上下文切换)

cswch/s (主动)

nvcswch/s(被动)
I/O、内存等系统资源不足时,就会发生自愿上下文切换

大量进程都在争抢 CPU 时,就容易发生非自愿上下文切换
CPU 缓存命中率 cachestat 1 TOTAL(IO 次数)

MISSES(未命中)

HITS(命中)
命中率越高性能越好

内存关注指标

指标 常用工具 关注点 备注
内存利用率 free -h used

free
±buffer/cache
SWAP 换入/换出 vmstat 1 5

sar -B 1 5

pidstat -r
pgpgin/s

pgpgout/s
SWAP 置和内存置换速度

清理文件页、目录项、Inodes 等各种缓存命令:

1
echo 3 > /proc/sys/vm/drop_caches

IO 关注指标

指标 常用工具 关注点
使用率 iostat -d -k -x 1 3 %util %util
IOPS r/s +w/s 每秒 IO 请求数
吞吐量 rKB/s+wKB/s 每秒 IO 请求大小
响应时间 r_await+w_await

排查 IO 问题方法

  • Top 命令,查看是否有 io 隐患
  • Iostat 命令,确认 IO 存在瓶颈
  • Pidstat –d 命令或 iotop 命令确认 IO 读写大的进程 PID
  • Strace –f –p pid 命令,查询到具体读写的是哪个文件