可谓是 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 进程号