系统定位必须工具:
yum install sysstat htop dstat -y
yum install nload nethogs iftop -y
yum install iotop -y

通过以下命令对系统性能诊断:
sar -u

  1. 若 %iowait 的值过高,表示硬盘存在I/O瓶颈
  2. 若 %idle 的值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量
  3. 若 %idle 的值持续低于1,则系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU 。

sar -n TCP,ETCP 1
sar命令在这里用于查看TCP连接状态,其中包括:
active/s:每秒本地发起的TCP连接数,既通过connect调用创建的TCP连接;
passive/s:每秒远程发起的TCP连接数,即通过accept调用创建的TCP连接;
retrans/s:每秒TCP重传数量;
TCP连接数可以用来判断性能问题是否由于建立了过多的连接,进一步可以判断是主动发起的连接,还是被动接受的连接。TCP重传可能是因为网络环境恶劣,或者服务器压力过大导致丢包。

top 实时输出程序的cpu使用率,内存,负载等信息
pidstat 1 输出每个进程的cpu占用时间
iotop 实时输出每个程序的io占用情况
iostat 查看系统io
uptime 查看机器的负载情况
free -h 查看系统内存
dmesg | tail 可以查找导致性能问题的错误,包括oom-killer及TCP丢弃请求

dstat:系统资源统计命令(动态)
dstat [-afv] [options..] [delay [count]]
–tcp:显示tcp套接字
–udp:显示udp连接
–raw:显示裸套接字
–socket:套接字
–ipc:进程间通信信息
–top-cpu:显示最占用CPU的进程;
–top-io:最占用io的进程;
–top-mem:最占用内存的进程;