#VPS运行有一年多了,偶尔发现php-fpm 占用CPU 忽高忽低,经常!100%,之前一般保持在30-40左右。不知道什么原因,也比较菜,听他们的查了下。
我是这么做的:
- 通过 top 查找占 cpu 100% 的进程 id, 通过 ll /proc/PID/fd,查看进程在那个文件操作。
- 再通过 strace -p pid 查跑满 cpu 的进程 id 发现如图:
- 问下AI这么回答的:
/tmp/.ZendSem.pXhZSd
是 PHP 使用的一个Zend Semaphore
的文件锁,根据显示它已经被删除,但是有一个PHP-FPM的进程仍然持有一个到这个文件的打开文件描述符。这可能会导致额外的内存占用,因为在Unix系统中,即使删除了文件,只要有进程仍然打开该文件,相关的数据实際上不会从磁盘上清除。
我想问下知道的大仙怎么解决这个问题-。 好担心服务器爆炸- -