linux 跟踪工具
strace工具,进程诊断、排错、跟踪系统调用和信号量 每行输出都是一个系统调用,包括函数和返回值。
strace是Linux环境下的一款程序调试工具,用来监察一个应用程序所使用的系统调用及它所接收的系统信息。
可谓是 linux 下的调试利器,不仅可以用来找程序错误,系统为什么挂死了,命令为什么报错,还可以用来查找哪些程序占用系统资源。
命令实例
比如,但网站服务器负载过大,网站数量又多,不知是那个网站占用太多资源,这时strace派上用场了。
第一步,查看 php-cgi 进程号:
ps aux | grep php-cgi
第二步,查看系统调用
strace -p 进程号
或者,将记录结果存在output.txt文件中
strace -o output.txt -T -tt -e trace=all -p 进程号
mac下的命令为dtruss
pstack 看活动的进程内的堆栈
pstack 进程号
用top查看某个进程的信息,top -p 进程号