如何解决宝塔面板磁盘空间显示为0?排查Inode节点耗尽与日志文件过大

秋明酱_9901

秋明酱_9901

2026-04-17

236人浏览

原创

宝塔报“磁盘已满”但 df -h 显示空间充足,大概率是 inode 耗尽或缓存未刷新;先运行 df -h 和 df -i 对比,若 iuse% ≥95% 而空间使用率低,则聚焦 /www/sess 或 /tmp 下大量 php session 小文件,用 find 统计并清理过期文件,再检查 lsof | grep deleted 是否存在被占用的已删文件,必要时重启 php-fpm。

如何解决宝塔面板磁盘空间显示为0?排查inode节点耗尽与日志文件过大

df -h 显示空间充足但宝塔面板报“磁盘已满”

这八成不是磁盘空间真满了,而是 inode 耗尽或面板缓存未刷新。宝塔首页的磁盘使用率来自系统缓存快照,不主动识别新挂载点、bind 挂载,甚至在旧版 XFS 上存在统计异常——你扩容了硬盘,它可能还卡在 99%。先别信面板数字,直接运行 df -h 和 df -i 对比:如果 df -h 显示 / 或 /www 使用率才 30%,但 df -i 的 IUse% 达到 95%+,问题就锁定在小文件堆积。

确认是 /www/sess 或 /tmp 下 PHP session 文件占满 inode

宝塔本身不显示哪个目录吃掉了 inode,得手动查。常见高危路径就是 /www/sess 和 /tmp,session 文件名形如 sess_abc123,单个几 KB,但几十万份就能把 inode 耗光。

  • 先用 php -i | grep session.save_path 确认实际存储路径(可能是 /www/sess,也可能是 /tmp)
  • 再运行 find /www/sess -type f | wc -l 统计文件数;若输出超 10 万,基本坐实
  • 安全预览前 20 个:find /www/sess -name "sess_*" -type f | head -20
  • 只删 7 天前的(保留活跃会话):find /www/sess -name "sess_*" -type f -mtime +7 -delete
  • 全删(确定无长期登录需求):find /www/sess -name "sess_*" -type f -print0 | xargs -0 rm -f

清理后 inode 还不释放?检查被进程占用的“已删除文件”

Linux 删除文件只是解除硬链接,如果还有进程正打开它,inode 就不会真正归还。PHP-FPM 就常干这事:session 文件被删了,但 worker 进程还持有着句柄,状态显示为 deleted。

Rydberg Agent Node
Rydberg Agent Node

使用一条命令部署ProbeChain Rydberg测试网代理节点。自动注册为Agent(NodeType=1),免gas,支持macOS/Linux/Windows。触发词:/r

下载
  • 查这类“幽灵文件”:lsof | grep deleted 或更精准的 lsof +L1
  • 若发现大量 php-fpm 进程在占用已删的 sess_*,必须重启服务:systemctl restart php-fpm
  • 注意:重启 php-fpm 会导致当前 PHP 请求中断,建议选低峰期操作
  • XFS 文件系统还可能存在延迟回收,等下次挂载或运行 xfs_repair 才彻底释放——这不是 bug,是设计如此

日志文件过大导致磁盘空间真实告急

如果 df -i 正常但 df -h 真爆了,重点盯 /www/wwwlogs/、/var/log/ 和 systemd journal。Nginx/Apache 日志、宝塔自身日志、systemd 日志都可能几个月不清理,单个几百 MB 很常见。

  • 清空所有网站日志内容(保留文件结构):cat /dev/null > /www/wwwlogs/*.log
  • 删 7 天前的压缩归档:find /www/wwwlogs/ -name "*.log.*.gz" -mtime +7 -delete
  • 收缩 systemd 日志至 100MB:journalctl --vacuum-size=100M
  • 避免误删关键日志:别直接 rm -rf /var/log,先用 du -sh /var/log/* 2>/dev/null | sort -hr 定位最大项

真正卡住人的从来不是命令怎么写,而是删完 session 后用户登录态是否丢失、php-fpm 重启会不会引发连接池雪崩、以及宝塔下次自动巡检时是否又因 inode 检查逻辑反复弹窗——这些依赖关系和恢复节奏,比 find 参数重要得多。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

node 宝塔面板

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
PixTV官网入口地址合集
PixTV官网入口地址合集

本专题汇总了 PixTV AI 一站式视频创作平台的官方入口与使用教程。无需下载软件,浏览器直接访问即可使用。平台将剧本、图像、视频、声音与剪辑整合在“无限画布”中,接入 GPT Image 2.5、Seedance 2.5 等头部模型。本专题整理了从新建画布、角色锚定、分镜拆分到视频生成与导出的完整操作指南,助你快速上手 AI 短剧与漫剧创作。

2026.10.10

40

15

Kratos框架HTTP与gRPC服务开发教程
Kratos框架HTTP与gRPC服务开发教程

本专题围绕Kratos框架双协议服务开发,涵盖HTTP路由与处理器编写、参数获取、gRPC服务实现与客户端调用、metadata上下文传递、encoding编解码注册、统一响应封装、超时控制与流式响应实现方法。

2026.10.10

20

15

Kratos框架Protobuf接口定义与代码生成合集
Kratos框架Protobuf接口定义与代码生成合集

本专题讲解Kratos框架接口定义体系,涵盖proto编写规范、proto add/client/server生成命令、http注解路由、validate校验、OpenAPI文档生成、跨服务proto复用与兼容性设计。

2026.10.10

0

15

C++虚函数怎么定义和调用
C++虚函数怎么定义和调用

C++虚函数是实现运行时多态的重要机制。本专题从virtual关键字的基本用法入手,介绍基类与派生类之间的函数重写、基类指针调用派生类方法,以及动态绑定的执行过程,帮助初学者掌握虚函数的核心语法。

2026.10.10

20

26

C++类与对象的封装方法教程
C++类与对象的封装方法教程

C++封装是面向对象编程的核心特性之一,通过类将数据与操作数据的函数组织在一起,并利用访问权限控制外部访问。本专题介绍类的定义、成员变量、成员函数以及public、private和protected的使用方法,帮助初学者掌握封装的基本原理。

2026.10.10

20

32

C++构造函数定义与调用方法
C++构造函数定义与调用方法

C++构造函数用于初始化类对象,是面向对象编程的重要基础。本专题从构造函数的定义、声明和调用入手,介绍默认构造函数、带参数构造函数、拷贝构造函数及成员初始化列表,帮助初学者掌握对象创建与初始化的基本方法。

2026.10.10

20

16

Kratos框架零基础入门教程
Kratos框架零基础入门教程

本专题整理Kratos框架入门内容,涵盖Go环境准备、kratos CLI安装升级、new命令创建项目、目录结构分层说明、服务启动与双协议端口、依赖下载报错排查,帮助开发者快速跑通第一个Kratos框架微服务应用。

2026.10.10

20

15

C++条件判断语句怎么写
C++条件判断语句怎么写

C++条件判断是控制程序执行流程的重要基础。本专题介绍if、if-else、else if和switch等常见分支语句,结合条件表达式、比较运算符与代码示例,帮助初学者掌握不同场景下的判断逻辑。

2026.10.10

0

13

C++变量怎么声明和赋值
C++变量怎么声明和赋值

C++变量是编写程序和存储数据的基础。本专题围绕变量声明、定义、初始化、赋值和类型选择等内容展开,帮助初学者理解不同变量的用法,并掌握在实际代码中定义和使用变量的方法。

2026.10.10

20

20

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
WebSocket手册
WebSocket手册

共0课时 | 0人学习

HTML5/CSS3/JavaScript/ES6入门课程
HTML5/CSS3/JavaScript/ES6入门课程

共102课时 | 10.8万人学习

前端基础到实战(HTML5+CSS3+ES6+NPM)
前端基础到实战(HTML5+CSS3+ES6+NPM)

共162课时 | 28.4万人学习