可通过df、du、find、df -i、lsof等命令分别查看磁盘使用率、大目录、超大文件、inode占用及被删未释放文件,精准定位银河麒麟系统存储瓶颈。

如果您需要掌握银河麒麟操作系统中磁盘空间的实际占用与可用容量,可通过多种命令行工具快速获取系统级和目录级的存储状态。以下是具体操作步骤:
一、查看整体文件系统磁盘使用情况
df 命令用于显示所有已挂载文件系统的总容量、已用空间、可用空间及使用百分比,是监控根分区、/home、/var 等关键路径空间是否告急的首选方法。该命令以人类可读格式(-h 参数)输出,便于直观识别瓶颈分区。
1、打开终端,输入以下命令:
df -h
2、观察输出中 Use% 列值接近或达到 100% 的挂载点,例如 /(根分区)或 /home,这些即为需重点关注的满载区域。
二、定位大容量目录与子目录
du 命令用于递归统计指定路径下各子目录的磁盘占用,配合排序可迅速识别空间消耗源头,尤其适用于排查日志目录、数据库数据目录等高频写入位置。
1、查看当前目录下各一级子项大小(按降序排列前10名):
du -sh * | sort -hr | head -n 10
2、若发现 /var 占用异常高,进入该目录后执行:
du -sh */ | sort -hr | head -n 5
3、针对典型数据库路径,直接检查其大小:
du -sh /var/lib/mysql
du -sh /var/lib/pgsql
三、扫描超大文件(≥1GB)
当 df 显示满载但 du 未明显定位大目录时,可能存在孤立的大文件(如滚动日志、临时镜像、core dump)。使用 find 命令可跨全系统搜索指定尺寸以上的普通文件,避免遗漏隐藏路径。
1、执行以下命令查找大于 1GB 的文件(需管理员权限):
sudo find / -type f -size +1G -exec ls -lh {} \; 2>/dev/null
2、重点核查输出中非虚拟路径的超大文件,例如 /opt/apps/*/files/log/worker.log 或 /var/log/syslog,注意忽略 /proc/kcore(该文件为内存映射,不占实际磁盘空间)。
四、检查 inode 使用率
即使磁盘空间未满,inode 耗尽也会导致无法创建新文件。df -i 可单独显示各挂载点的 inode 总量与已用数量,对大量小文件场景(如容器镜像缓存、邮件队列)尤为关键。
1、运行以下命令查看 inode 使用状态:
df -i
2、若某挂载点的 IUse% 接近 100%,说明 inode 资源枯竭,需清理海量小文件或调整文件系统参数。
五、识别被删除但未释放空间的文件
进程持续写入某文件后,若该文件被 rm 删除,其磁盘空间不会立即释放,直至进程终止。此时 df 显示满载而 du 找不到对应大文件,lsof 可揭示此类“幽灵占用”。
1、执行以下命令列出已被删除但仍被进程占用的文件:
sudo lsof +L1
2、在输出结果中查找标记为 deleted 的条目,记录其 PID 和文件路径。
3、根据 PID 终止对应进程以释放空间:
sudo kill -9 [PID]










