设备上没有剩余空间[已关闭]

问题描述 投票:0回答:4

当我尝试将一些文件复制到 centos 机器时,出现错误“设备上没有剩余空间”,

尝试检查:

[root@...]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol01 18G   18G     0 100% /

当我这样做时

du -sh /
-> 它只提供 5G

[... ~]$ df -i /
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/mapper/VolGroup00-LogVol01
                     4685824  209516 4476308    5% /

似乎文件系统已满。 我怎样才能找到哪一个占用了这么大的尺寸?

linux filesystems centos
4个回答
82
投票

如果某些大文件已被删除,但仍被某些进程打开,则

du -sh
df -h
的输出之间可能会出现这种差异。使用命令
lsof | grep deleted
检查哪些进程已打开已删除文件的描述符。您可以重新启动该进程,空间将被释放。


66
投票

也许你的索引节点用完了。 试试

df -i

                     2591792  136322 2455470    6% /home
/dev/sdb1            1887488 1887488       0  100% /data

磁盘已使用 6%,但 inode 表已满。


15
投票

要列出Linux系统中保存已删除文件的进程,该系统具有no

lsof
,这是我的技巧:

    pushd /proc ; for i in [1-9]* ; do ls -l $i/fd | grep "(deleted)" && (echo -n "used by: " ; ps -p $i | grep -v PID ; echo ) ; done ; popd

1
投票

您可以执行以下命令

lsof / |grep deleted

杀死进程 ID,从而释放磁盘空间。

© www.soinside.com 2019 - 2024. All rights reserved.