今天上服务器查看一个日志文件 vim之后提示
e297: write error in swap file
回车之后又可以编辑,觉得很奇怪,上网查原因
因为硬盘没有空间创建*.swap文件(编辑文件会静默创建一个备份文件),inode已用完。
这是一台生产环境的server,赶紧访问应用,发现连接不上了,所有得请求都Time out,意味着服务器挂了,如果客户看到肯定死翘翘,先解决问题,再去查原因。
查看磁盘容量情况,发现使用100%
查看具体那个文件夹占用这么大的空间
du -sh *
发现时php-fpm的日志文件太大了
这个文件这么大,读到内存里面是不可能了,先删了吧
vim /usr/local/php/etc/php-fpm.conf
确实有记录这个文件
接下来
rm -rf php-fpm.log
回去查看硬盘情况,发现没有变化,google发现时由于进程没有kill掉,依然占用磁盘,于是开始杀进程
kill 9022
killall php-fpm
这几个命令之后进程由于所有者不是root,所以依然顽强地活着
使用终极命令
pkill -9 php-fpm
终于搞定
重启服务
service php-fpm restart
磁盘正常,服务恢复
服务恢复之后查看新生成的php-fpm.log
看到如下信息
好吧,是因为程序中没有判断严谨。这个项目是个坑,外包给号称腾讯的程序员,写的程序也是没眼看
领取专属 10元无门槛券
私享最新 技术干货