记一次服务器CPU异常处理流程

上线新版本后cpu飙升,配置什么都没变!
1,着手调查马上查看慢查询,没有慢查询
2,查看慢php进程tail -f log.slow,定位到方法函数图片转指令方法耗时大,和cpu损耗挂钩,基本猜测这个函数方法,但没有优化空间
3,不死心,查一下进程耗损挂起点:ll /proc/PID号/fd/
结果:
lrwx------ 1 www www 64 Dec 18 12:21 0 -> socket:[309913580]
lrwx------ 1 www www 64 Dec 18 12:21 1 -> /dev/null
lrwx------ 1 www www 64 Dec 18 12:21 2 -> /dev/null
lrwx------ 1 www www 64 Dec 18 12:21 3 -> /tmp/.ZendSem.MNQcO5 (deleted)
lr-x------ 1 www www 64 Dec 18 12:21 7 -> /etc/pki/nssdb/cert9.db
lr-x------ 1 www www 64 Dec 18 12:21 8 -> /etc/pki/nssdb/key4.db
key4.db,cert9.db定位邮件发送服务有问题,先解决,邮件服务解决了发现问题没有大改善!
/tmp/.ZendSem.MNQcO5 (deleted)进程零时文件挂起没有真正删除,意味着有进程还在使用该文件,但查看进程已被kill了,只能猜测图片转指令方法一直在循环调用!
4,回头看代码,不该请求装换的数据都请求了方法,业务逻辑没加判断,装换指令for循环太大耗损cpu,改代码解决

猜你喜欢

转载自blog.csdn.net/weixin_43294972/article/details/85090272