宝塔面板磁盘使用率不准是因未识别新盘、LVM、bind挂载等,需用df -h核对分区、手动挂载并执行sudo bash /www/server/panel/pytools.py reload刷新缓存。

宝塔面板首页显示的磁盘使用率不准怎么办
宝塔面板首页显示的磁盘使用率,本质是读取 /proc/mounts 和 df 命令结果,但有时会漏掉未挂载的新盘、LVM逻辑卷或被隐藏的挂载点(比如用 mount --bind 绑定的目录),导致“明明扩容了却还是显示100%”。这不是面板坏了,而是它没“看见”你新加的磁盘空间。
- 先执行
df -h看真实分区情况,重点核对Filesystem列是否包含你预期的盘(如/dev/vdb1) - 如果
df -h里没有,但lsblk或fdisk -l能看到新硬盘,说明还没挂载——宝塔不会自动挂载,得手动处理 - 确认挂载后,再运行
sudo bash /www/server/panel/pytools.py reload强制刷新面板磁盘缓存(比重启面板更快更安全) - 旧版宝塔(v7.9 之前)对 XFS 文件系统支持有 Bug,
df显示正常但面板卡在 99%,升级到 v8.0+ 可解决
为什么 /www 目录总占满磁盘,但删了日志还涨回来
不是日志删得不够狠,而是网站程序(尤其是 WordPress、ThinkPHP、Laravel)默认把运行时日志、缓存、临时上传文件全堆在 /www 下,且很多不自动轮转。更隐蔽的是:MySQL 的 ibdata1 文件、宝塔备份任务生成的 .tar.gz 包、甚至被遗忘的 Docker 卷数据,也常藏在 /www/backup 或 /www/server/data 里。
- 精准定位大文件:进
/www后运行du -sh * | sort -hr | head -n 10,别只看一级目录,有些项目把缓存放在/www/wwwroot/example.com/runtime - 检查 MySQL 数据文件位置:
mysql -uroot -e "SHOW VARIABLES LIKE 'datadir';",如果返回的是/www/server/data/mysql,那它就属于/www分区,删网站日志根本不管用 - 宝塔自动备份默认存
/www/backup/site,勾选了“保留最近 7 天”但实际留了 30 个压缩包?查ls -lt /www/backup/site | head -20
扩容后磁盘空间仍不可用:常见操作断点
云服务器扩容磁盘后,Linux 内核识别了新容量,但文件系统未必扩展——就像给房子加了层楼,但没砌墙、没铺地板,你进不去也用不了。
- 先确认扩容是否生效:
fdisk -l /dev/vda看Disk /dev/vda: xxx GB是否已变大(注意不是/dev/vda1) - 若分区表没更新,用
parted /dev/vda resizepart 1 100%(CentOS 7+/Ubuntu 18.04+);老系统用fdisk删除重建分区(⚠️务必先备份 MBR) - 扩展文件系统才是关键:
resize2fs /dev/vda1(ext4)或xfs_growfs /(XFS),漏掉这步,df -h永远不变 - 宝塔扩容脚本(
auto_disk.sh)只处理“未分区新盘”,对系统盘扩容无效,别盲目跑
用命令行快速验证宝塔磁盘状态是否可信
当面板首页和监控页显示矛盾(比如首页说 95%,监控页说 62%),优先信命令行输出。宝塔的“监控”模块依赖后台采集服务,可能因权限、超时或插件冲突中断,而 df 是内核级实时接口,零延迟、无中间层。
- 最简验证:
df -hT /查根分区,df -hT /www查网站目录所在分区,对比两处的Use% - 查 I/O 压力是否假满:
iostat -x 1 3看%util是否持续 >90%,如果是,说明不是空间满,是磁盘卡死,得查慢查询或日志刷盘频率 - 排除宝塔自身缓存干扰:临时停用监控插件,执行
bt restart,再等 30 秒看首页是否刷新——很多“显示不准”只是面板前端没拉新数据
磁盘空间问题从来不是孤立的,它往往暴露的是备份策略缺失、日志轮转未配置、或数据路径规划混乱。别只盯着“删什么”,先搞清“为什么长在这里”。










