进程监控
- 端口 1)netstat -anp | grep xxx 2)lsof -i:<port>
- 句柄 lsof -n | grep xxxx
- 线程栈 1)gstack 2)用gdb attach进去 3)java进程用jstack,或btrace
- 运行时系统调用 strace -fp <pid> -o <output>
- /var/log/message,查看系统异常信息,如out of memory kill
网络监控
- 抓包 tcpdump、wireshark
- 网络是否通,以及延迟 ping
- 端口是否通 telnet <ip> <port>
- 模拟丢包:tc
- 模拟网络端开:iptables
性能监控
- CPU
- 整体:top,sar
- 进程: ps -ef,看进程总cpu时间;当然top也可按cpu排序
- 线程: 1)ps -T(各系统可能命令有所不同) 2) pidstat,线程多的话,用sort -k按字段排序,除了cpu,还要留意缺页统计
- 内存:
- 整体:1)free -m,看剩余内存 2)vmstat,看是否有缺页io
- 进程:cat /proc/<pid>/status ;java进程用jstat、jconsole等
- 网络IO:
- 流量监控:sar -n DEV 1 10
- 最大带宽测试:iptraf、iperf
- 磁盘IO:
- 整体 1)iostat -xm,2)sar -d 3)df -h看磁盘空间
- 进程 iotop,需另外安装
- dd,测顺序写性能,注意write-back和through;网上还有其他专业工具,可测随机、顺序等各种场景