Linux通过df命令查看显示磁盘空间满,但实际未占用问题

问题产生:让同事查看挂载点 “/”占用100%的原因,查看之后发现是/home/work/下的一个日志文件太大占用导致,然后同事就直接执行了rm命令,结果导致文件删了,但是挂载点占用率没有降下来,简直....

网上问度娘,得出如下总结(仅个人参考,如有给你大哥们带来错误判决敬请谅解)

1.df 命令查看

 2.du  -h -x / --max-depth=1 命令查看各个目录的占用空间,试图找到占用较多空间的目录

未发现磁盘占用较大目录的问题

 3.怀疑 inode 不够导致此问题,df -i 查看

 

inode使用率也正常

4.使用 lsof 检查,怀疑是不是有可能文件已被删除,但是进程还存活的场景

Linux 里的文件被删除后,空间没有被释放是因为在 Linux 系统中,通过 rm 或者文件管理器删除文件将会从文件系统的目录结构上解除链接 (unlink) 。然而如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用。装态为 deleted 为标记被删除,其实该文件并没有从磁盘中删除,需要杀掉持有句柄的进程释放掉。

sudo lsof | grep deleted | cut -d " " -f 2 | sort -n | uniq | xargs kill

至此我的问题解决了

<-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->

1,然而网上有的说即使将如上所示的进程全部杀掉,发现空间占用仍是 100%。挂载的目录原来是有文件存在的,挂载之后这些文件就会隐藏,不属于该文件系统,此时使用 du 命令是看不到这些文件的。

解决方法,

1、卸载挂载点:

2、重新将磁盘挂载到新的空目录

#mkdir  /opt/videos

#mount  /dev/sda1  /opt/videos

#mount  -a

原文地址:Linux通过df命令查看显示磁盘空间满,但实际未占用问题 - Yr-Zhang - 博客园

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 如果你的Linux系统磁盘空间已经了,你需要采取一些措施来释放空间。首先,你可以使用一些命令来查找哪些文件或目录占用了大量的磁盘空间,例如du、df、ls等。然后,你可以删除一些不必要的文件或目录,或者将它们移动到其他磁盘或存储设备中。此外,你还可以清理一些临时文件或日志文件,或者使用一些工具来压缩或归档文件。总之,你需要根据具体情况采取相应的措施来释放磁盘空间,以确保系统正常运行。 ### 回答2: 当linux系统磁盘空间了,可能会出现诸如无法保存文件、程序运行受限等问题。针对这种情况,我们可以采取以下几种方法: 一、查找文件并删除多余文件 可以使用一些命令搜索整个磁盘区域中的大文件或文件夹。找到这些文件后,可以考虑将其删除或移动到其他磁盘中。 例如,使用以下命令可以搜索所有大于500MB的文件: find / -type f -size +500M -exec ls -lh {} \; 查找出来的文件可以通过rm命令直接删除: sudo rm -rf /path/to/large/file 二、清理系统缓存 在linux系统中,会有一些内存空间用于临时存储数据,这些数据可能包括缓存文件、日志文件等。这些缓存文件可以导致系统磁盘空间不足。可以使用以下命令清理系统缓存: sudo apt-get clean sudo apt-get autoclean sudo apt-get autoremove 三、查找并删除日志文件 在系统中,各种应用程序和系统都会生成日志文件以记录信息。这些日志文件可能会占用大量的磁盘空间。因此,可以使用以下命令查找并删除它们: 查找最近一周内的日志文件: sudo find /var/log -type f -mtime -7 删除指定日志文件: sudo rm /var/log/auth.log 四、使用du命令查看磁盘空间 使用du命令可以帮助用户查看磁盘上的文件和文件夹所占用空间,并找到占用大量磁盘空间的文件和文件夹。 例如,使用以下命令会列出所有文件夹和文件,按大小排序并显示其大小和路径: sudo du -hs /* | sort -rh 通过对以上方法进行组合使用,就可以有效地解决linux系统磁盘空间问题。 ### 回答3: 当Linux系统磁盘空间了的时候,会出现一些问题,比如无法新建文件、无法写入数据、系统运行缓慢等等。解决这个问题的方法有很多种,以下是一些常用的方法: 1. 删除不必要的文件:可以使用命令“ls -alh”查看当前目录下的文件和文件夹的大小,找出占用空间较大的文件进行删除。 2. 清理系统缓存:使用命令“sudo apt-get clean”可以清理系统已安装软件的缓存文件。 3. 安装软件包管理工具:可以使用aptitude或者synaptic这样的软件包管理工具来卸载不需要的应用程序和文件。 4. 转移重要数据:当磁盘空间不足时,可以将一些重要的数据存储到外部硬盘或者云存储服务上,来释放磁盘空间。 5. 查看日志文件:系统日志文件也会占用一定的磁盘空间,使用命令“sudo du -h /var/log/”可以查看日志文件的大小。 6. 压缩文件:将一些较大的文件进行压缩可以占用更小的磁盘空间,使用命令“tar –cvzf filename.tar.gz 文件名”可以将文件进行压缩。 总之,要解决Linux系统磁盘空间了的问题,需要综合运用以上各种方法。在进行操作前,要确保不会误删重要文件。如果还是无法解决问题,可以考虑进行磁盘扩容或者更换更大的硬盘来解决。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值