您当前位置:知识库 >云服务器 >服务器教程 >浏览文章

Linux磁盘空间占满,但搜不到大文件

来源:不详 日期:2023/11/17 16:00:26 阅读量:(0)

1. 使用 df -h 查看磁盘空间

4.png


2. 使用 du -sh * 查看每个目录的大小

5.png

经过查看没有发现任何大的文件夹。 继续下面的步骤


如果您的Linux磁盘已满,但是通过 du -sh 找不到大文件,可能是因为有一些进程正在写入磁盘,但是这些文件已经被删除,但是进程仍然在使用它们。这种情况下,可以使用 lsof 命令查找这些文件并杀死相关进程。以下是一些可能有用的命令:

 

1.查找哪些进程占用了磁盘空间:

sudo lsof | grep deleted

2.查找哪些进程占用了删除的文件:

sudo lsof +L1

3.杀死占用已删除文件的进程:

sudo kill -9 <PID>

 

如果 lsof | grep deleted 的命令没有返回结果,可以直接执行 sudo lsof +L1 命令。如下图是我的进程占用的磁盘空间没有释放

6.png


直接 kill 掉进程后的磁盘空间。

7.png


在 sudo lsof +L1 命令的执行结果中,SIZE/OFF 表示已删除文件的大小或偏移量。

当一个文件被删除时,如果有进程仍然在使用该文件,那么该文件的磁盘空间不会立即释放,而是被标记为“删除”。在这种情况下,SIZE/OFF 列将显示该文件的大小或偏移量。如果该文件当前没有被任何进程使用,那么 SIZE/OFF 列将显示为0。

需要注意的是,SIZE/OFF 列中显示的大小或偏移量可能是不准确的,因为已删除文件的大小可能会随着进程对其进行读写操作而发生变化。


关键字:
声明:我公司网站部分信息和资讯来自于网络,若涉及版权相关问题请致电(63937922)或在线提交留言告知,我们会第一时间屏蔽删除。
有价值
0% (0)
无价值
0% (10)

分享转发:

发表评论请先登录后发表评论。愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。