记录一次 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 协议》,转载必须注明作者和本文链接
本帖由系统于 3年前 自动加精
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 10

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

3年前 评论
EmptyCup (楼主) 3年前

不错,排查的思路很清晰

3年前 评论

排查思路很清楚,点个赞

3年前 评论
sreio

mark,很赞

3年前 评论

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

3年前 评论

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

3年前 评论

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

3年前 评论
陈先生

直接建议 inotify

3年前 评论

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