佚名 通过本文向大家介绍了strace命令,linux strace命令,strace,strace用法,linux strace等相关知识,希望对您有所帮助,也希望大家多多支持linkedu.com
通过Strace定位故障原因
这是一个Nginx错误日志:
connect() failed (110: Connection timed out) while connecting to upstream
connect() failed (111: Connection refused) while connecting to upstream
看上去是Upstream出了问题,在本例中Upstream就是PHP(版本:5.2.5)。可惜监控不完善,我搞不清楚到底是哪出了问题,无奈之下只好不断重启PHP来缓解故障。
如果每次都手动重启服务无疑是个苦差事,幸运的是可以通过CRON设置每分钟执行:
#/bin/bash</p>
<p>LOAD=$(awk '{print $1}' /proc/loadavg)</p>
<p>if [ $(echo "$LOAD > 100" | bc) = 1 ]; then
/etc/init.d/php-fpm restart
fi
</div>
可惜这只是一个权宜之计,要想彻底解决就必须找出故障的真正原因是什么。
闲言碎语不要讲,轮到Strace出场了,统计一下各个系统调用的耗时情况:
0.00 0.000000 0 277