Linux forrtl:设备上没有剩余空间

Linux forrtl:设备上没有剩余空间,linux,shell,Linux,Shell,我的模拟停止时出现forrtl:设备上没有剩余空间错误 当我使用ls--sort=size-alh时,它将报告96M的总使用量和最多6000万的使用量 当我使用du-h时,它将报告总计159G,最大158G(对于同一文件夹) 当我使用df-h时,它将报告: Filesystem Size Used Avail Use% Mounted on /dev/nvme0n1p4 930G 883G 0 100%/ 起初,我认为有大量的隐藏文件占用了空间。如前所

我的模拟停止时出现
forrtl:设备上没有剩余空间
错误

当我使用ls--sort=size-alh
时,它将报告96M的总使用量和最多6000万的使用量
当我使用
du-h
时,它将报告总计159G,最大158G(对于同一文件夹)
当我使用
df-h
时,它将报告:

Filesystem                     Size  Used Avail Use% Mounted on
/dev/nvme0n1p4 930G 883G 0 100%/

起初,我认为有大量的隐藏文件占用了空间。如前所述,我试图删除隐藏的文件。 然而,我得到了同样的结果。我想知道如何找到占用空间的项目来删除它们。

您可以使用它来查找占用大部分空间的目录,例如,尝试以下方法:

ncdu -x /
选项
-x
将保持在同一文件系统中(不要遍历其他文件系统装载)

还可能发生的情况是,某些应用程序/进程仍在运行,但尚未“释放”文件,这是因为文件系统中的文件描述符保持打开状态,在这种情况下,您可以使用:

lsof  | grep deleted
有时,如果文件在进程打开时被删除,在进程结束之前,它实际上不会释放磁盘空间

关于这一点,请参见以下答案:

如果不能使用
ncdu
,可以使用
find
命令,例如,在当前目录中查找大于4096字节的文件:

find . -type f -size +4096c

有关其他选项的详细信息,请参见此处:

我没有安装它。没有ncdu有什么方法可以做到吗?@Shabnam如果可能的话,尝试安装它,会为您节省很多时间谢谢您的完整解释。我尝试了“查找…”并了解了哪些文件很大,现在我正在删除不需要的文件。我将尝试在将来安装ncdu。