中资源虚拟主机空间占用异常_硬链接重复计算排查
硬链接重复计算时用两个命令对比:ls -l 看文件实际大小(字节数),du -sh 看磁盘占用空间。两者不一致是正常的,du 统计的是实际占用的磁盘块数,ls 显示的是文件逻辑大小。中资源虚拟主机面板显示的空间通常是 du 的结果,即实际占用。
数据库文件空间膨胀是另一种"占用大于实际"。MySQL 的 ibdata1 和 .ibd 文件删除数据后不释放空间,只是标记可重用,实际占用不变。用 OPTIMIZE TABLE 或 ALTER TABLE ENGINE=InnoDB 重建表释放空间,执行期间锁表,选低峰期操作。
参考(MySQL 释放表空间): ``` -- 查看表大小 SELECT table_name, ROUND(data_length/1024/1024,2) data_mb, ROUND(index_length/1024/1024,2) index_mb FROM information_schema.tables WHERE table_schema='数据库名' ORDER BY data_length DESC; -- 优化表释放空间(锁表,低峰期执行) OPTIMIZE TABLE 表名; -- 或重建表 ALTER TABLE 表名 ENGINE=InnoDB; ```
排查完用 FTP 连接验证确认。du -sh 网站根目录和面板显示的空间一致,说明统计正常;不一致可能是配额统计延迟(几小时更新一次)或有隐藏文件。用 du -sh 目录/* | sort -rh | head 找占用最大的子目录,逐层定位。
回收站和已删除文件:Windows 虚拟主机的回收站占用空间,清空回收站才释放;Linux 没有回收站,但已删除且被进程打开的文件空间不释放(lsof | grep deleted 找,重启进程释放)。这两种情况都会导致 du 和面板数字对不上。
邮件和日志单独计费:部分主机商的空间配额包含网站文件、数据库、邮件,部分分开算。面板显示的空间可能只算网站文件,数据库和邮件在另外的页面看。硬链接重复计算时先确认配额包含哪些项目,避免误判。

更新时间:2026-08-27 12:01:45