inode 不能单独扩容,inode 数量是格式化磁盘时就固定分配好的,没法直接给 / 分区单独增加 inode。 你现在是 inode 99.99%,哪怕磁盘还有空间,系统依然无法新建任何文件,PHP、宝塔、MySQL 随时会挂,网站 502 就是这个原因。
先确认是不是 inode 满了,
再定位占用最多的目录,删除无用小文件或清理日志即可释放 。
执行df -i,重点看各挂载点的IUse%。若接近或达到 100%,而df -h显示磁盘空间还够,基本就是 inode 耗尽 。
# 把 /www/wwwroot/xxx 换成你的网站目录
find /www/wwwroot/你的网站目录 -name "sess_*" -deleterm -rf /tmp/*rm -f /www/server/nginx/logs/*.log清理完执行
df -ifor i in /www/wwwroot/*; do echo $i; find $i |wc -l; done基本上爆满都是这里引起的原因 查询上面指令你会看到占用最大的文件是那个 ,然后进行操作。
/www/wwwroot 网站目录里面堆积海量小文件(大概率是 session 会话文件,框架 runtime 缓存)不要直接
rm *,文件太多会报参数过长,必须用 find 清理
把下面路径换成你那个爆 inode 的网站文件夹,比如 /www/wwwroot/www.admin95.cn
find /www/wwwroot/你的网站目录 -name "sess_*" | wc -lfind /www/wwwroot/你的网站目录 -name "sess_*" -mtime +7 -delete如果想一次性清空全部 session(会让所有用户全部退出登录)
find /www/wwwroot/你的网站目录 -name "sess_*" -delete很多 PHP 框架在 runtime/session、runtime/cache 疯狂生成小文件
# 统计runtime里面文件数量
find /www/wwwroot/你的网站目录/runtime -type f | wc -l
# 删除14天前缓存文件
find /www/wwwroot/你的网站目录/runtime -type f -mtime +14 -deletedf -i上面指令可以直接删除14天前的 缓存小文件,按步骤操作完 去宝塔看 inode 使用率下降。基本上就正常了 硬盘也会空出很多,
ThinkPHP 类程序爆 inode 重灾区。如何服务器比较小型一个月就能干爆满,所以给宝塔加计划任务,定时自动清理过期缓存
非常有必要,放心清理 不会影响到网站正常运行,也不会删除网站的源码和备份,只是清理不需要多余的inode小文件。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。