性能分析常用工具
一、系统级监控工具
1. top/htop
- 功能:实时显示系统进程和资源占用情况
- 关键指标:CPU使用率、内存占用、进程列表
- htop优势:彩色显示、鼠标支持、更好的用户界面
2. vmstat
- 功能:报告虚拟内存统计信息
- 常用命令:
vmstat 1(每秒刷新一次)
- 关键指标:
- r:运行队列中的进程数
- b:阻塞的进程数
- swpd:虚拟内存使用量
- si/so:内存交换入/出量
3. iostat
- 功能:监控系统输入/输出设备负载
- 常用命令:
iostat -x 1
- 关键指标:
- %util:设备利用率
- await:平均I/O等待时间
- svctm:平均服务时间
4. dstat
- 功能:全能系统资源统计工具
- 优势:结合了vmstat、iostat、netstat等功能
- 常用命令:
dstat -cdngy

二、网络性能工具
1. netstat/ss
- 功能:显示网络连接、路由表、接口统计等
- ss优势:比netstat更快,显示更多信息
- 常用命令:
2. iftop
- 功能:实时显示网络带宽使用情况
- 类似工具:nload, bmon
3. tcpdump
- 功能:网络数据包捕获分析
- 常用命令:
tcpdump -i eth0 -nn -vv port 80
4. Wireshark
- 功能:图形化网络协议分析工具
- 优势:强大的过滤和解析能力
三、内存分析工具
1. free
- 功能:显示内存使用情况
- 常用命令:
free -h(人类可读格式)
2. pmap
- 功能:报告进程的内存映射
- 常用命令:
pmap -x <PID>
3. valgrind
- 功能:内存调试、内存泄漏检测
- 常用命令:
valgrind --leak-check=yes myprogram
- valgrind --tool=memcheck --leak-check=full ./bin/TestASWC_CSCBCACore
- valgrind --tool=helgrind ./bin/TestASWC_CSCBCACore
- valgrind --tool=cachegrind ./bin/TestASWC_CSCBCACore
- valgrind --tool=massif ./bin/TestASWC_CSCBCACore
- valgrind --tool=callgrind ./bin/TestASWC_CSCBCACore
四、磁盘I/O分析工具
1. iotop
- 功能:监控磁盘I/O使用情况(类似top)
- 常用命令:
iotop -o(只显示有I/O活动的进程)
2. lsof
- 功能:列出打开的文件
- 常用命令:
lsof -i :80(查看80端口使用情况)
五、高级性能分析工具
1. perf (Linux)
- 功能:Linux性能计数器分析工具
- 常用命令:
perf stat:执行命令并收集性能计数器统计
perf top:实时显示热点函数
perf record/report:记录并分析性能数据
2. strace
- 功能:跟踪系统调用和信号
- 常用命令:
strace -p <PID>
六、可视化工具
1. Grafana
- 功能:指标可视化与警报
- 常用搭配:Prometheus, InfluxDB
2. Kibana
- 功能:日志数据可视化
- 常用搭配:Elasticsearch