1、Linux自带分析工具1
(1)说明:uptime,vmstat,mpstat,top,pidstat只能查询到cpu及负载的的使用情况。perf可以跟着到进程内部具体函数耗时情况,并且可以指定内核函数进行统计。
(2)使用方式
top //查看系统cpu使用情况
mpstat -P ALL 1 //查看所有cpu核信息
vmstat 1 //查看cpu使用情况以及平均负载
pidstat -u 1 -p pid //进程cpu的统计信息
perf top -p pid -e cpu-clock //跟踪进程内部函数级cpu使用情况
2、Linux自带分析工具2
(1)说明:free,vmstat,top,pidstat,pmap只能统计内存信息以及进程的内存使用情况。valgrind可以分析内存泄漏问题。dtrace动态跟踪。需要对内核函数有很深入的了解,通过D语言编写脚本完成跟踪。
(2)使用方式
free -m //查看系统内存使用情况
vmstat 1 //虚拟内存统计信息
top //查看系统内存情况
pidstat -p pid -r 1 //1s采集周期,获取内存的统计信息
pmap -d pid //查看进程的内存映像信息
//检测程序内存问题
valgrind --tool=memcheck --leak-check=full --log-file=./log.txt ./程序名