Linux中磁盘空间始终被占满问题解决

最近,我在系统开发过程中遇到了一个问题,就是磁盘空间被沾满
df -lh命令查看
在这里插入图片描述

起初,我认为应该是log日志太多,所以,清理掉了我能想到的log日志的地方,清理后大概腾出了1G多的空间,勉强能用一段时间
但是,很快磁盘再次100%,于是我就想删除更多的log日志,于是我就想到用find语句,步骤如下:

  • 使用root权限cd /进入根目录
  • 使用命令find -type f -size +100M -name "*.log" |xargs ls -l来查询所有大小超过100M且以.log结尾的文件,并显示其大小

一顿操作下来,仅有几个不超过200M的文件,还是别的项目组的日志文件,不敢轻易删去;于是我改进了一下,

  • 用命令find -type f -size +100M -name "*.*" |xargs ls -l

查询所有超过100M的文件如下:
在这里插入图片描述
但,这几个文件之和也远远没有达到想象中的大小
实在每招,我们就看下是哪个文件夹占这么大的面积,

  • 用命令du -s -h ./*如下:
    在这里插入图片描述

发现,所有文件夹大小总和才不到20G,而我们磁盘的大小又40多G,其他空间去哪了呢
于是我们想,会不会是又隐藏文件呢

  • 于是用命令du -sh .[!.]* * | sort -hr来查看所有跟目录下文件及文件夹大小,包括隐藏文件
    在这里插入图片描述

也还是总共不到20G的空间占有

到底是什么情况呢???

这时,我们发现一种情况,就是每当我们清楚掉几十兆的空间后,没过多久,空间就又被占满了,网上查询相关的内容,有一种说法,是说文件被删除了,但是进程依然在读写被删除的文件,造成磁盘空间没有被释放

  • 于是我用命令**lsof -n | grep deleted**果然发现了很多进程占有被删除的文件
    在这里插入图片描述
    其中,有的进程占领的空间达20多G,所以情况都清楚了,但是这个进程是另外一个项目组的,我让他们将该服务停掉,然后,
  • 使用kill -9 进程号来杀死该进程

最后,再看看系统磁盘情况df -lh
在这里插入图片描述
果然,空间清理出了24G!!!

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答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系统磁盘空间了的问题,需要综合运用以上各种方法。在进行操作前,要确保不会误删重要文件。如果还是无法解决问题,可以考虑进行磁盘扩容或者更换更大的硬盘来解决
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值