记录一次 PHP-fpm 占 CPU 100% 修复

记录一次 php-fpm 占 cpu 100% 修复

问题描述:经业务人员反馈,前台页面返回 502 错误,上服务器查询发现,有俩个 php-fpm 占 cpu 100%, 重启 php-fpm 无效。

解决方法:
1.通过 top 查找占 cpu 100% 的进程 id, 通过 ll /proc/PID/fd,查看进程在那个文件操作,只发现在操作日志文件,但日志文件没有数据写入。
2.再通过 strace -p pid 查跑满 cpu 的进程 id 发现,一直报 write(xxx) 错误。
3.再通过 df -h 发现一个磁盘数据已满,日志无法写入,导致 php-fpm 占 cpu 100%。

本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由系统于 4个月前 自动加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 9

很好奇,磁盘满的原因是什么呢?

4个月前 评论
EmptyCup (楼主) 4个月前
Linxb

不错,排查的思路很清晰

4个月前 评论

可以,mark下

4个月前 评论

排查思路很清楚,点个赞

4个月前 评论

赞,我昨天也遇到cpu 100%的问题

3个月前 评论

学习了,思路不错,收藏备用!

3个月前 评论

我有一次磁盘满了 mysql报错2002 缓存、日志以及历史生成的Excel文件太多了

2个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!