记一次linux磁盘清理 - 已经删除的文件占用了大量磁盘空间

今天开发环境磁盘占满了,导致开发环境上的 nginx 、redis 等组件总是报异常。

跳到系统根目录下

cd  /

检查磁盘占用情况

df -h

哇,40G硬盘全用完了。看看是哪些文件占了那么多内存。

查看当前路径文件磁盘占用情况

注意,在根目录下检查。

du -h --max-depth=1

嗯?最后一行  9.6G  .

表示文件总占用只 9.6G 啊。 奇怪,那 40G 都去哪儿了?

查看已删除文件占用磁盘

lsof | grep delete

哇,好多文件。

其中

rinetd 的日志文件已经删除,但是这占用的还没释放。

重启 rinetd。

pkill rinetd

rinetd

再看一次。

降到了 10%,一个日志文件占了 34G ,可怕。而且还是已经删除了的文件。

原文地址:https://www.cnblogs.com/mmling/p/11425092.html

时间: 2024-11-05 23:24:21

记一次linux磁盘清理 - 已经删除的文件占用了大量磁盘空间的相关文章

Linux删除大文件进程还在导致磁盘空间占用100%问题处理

1. 问题描述 上午收到鹰网监控,某台应用机器的磁盘利用率达到100%,通过df和du等命令查看占用的磁盘空间并没有达到分配的逻辑卷挂载路径的最大值 2. 问题分析 最近公司那边开发了代码发布平台,在进行代码更新时,先删除日志缓存文件,在进行进程停止导致的 3. 问题处理 使用lsof |grep deleted命令查看已经标记为已经删除的文件 注:这个deleted表示该已经删除了的文件,但是文件句柄未释放,这个命令会把所有的未释放文件句柄的进程列出来 使用kill命令进行杀进程操作,但是该操

Linux下两种删除过期文件的方法详述

一.概述 在实际的C软件开发项目中,不同的软件会在不同的目录中生成文件,由于磁盘的存储空间有限,开发人员不得不考虑对目录下的过期文件进行删除.一般说来,有两种删除过期文件的方法,一种是在C程序中实现,一种是利用crontab实现.本文对这两种方法的具体实现进行详细的介绍. 为了便于说明,本文中的过期文件的后缀为.c,存放在/home/zhou/zhouzx/Test目录下,过期时间为1天. 二.在C程序中实现过期文件删除 在该方法中,我们要考虑的主要问题为: (1)要删除过期多久的文件?文件存放

Linux下清空或删除大文件内容的5种方法

在Linux终端下处理文件时,有时候我们想要直接清空文件的内容时但又不用使用任何Linux命令行编辑器,去打开这些文件.那如何才能达到这个目的呢? 1.通过重定向到NULL来清空文件内容 清空或者让一个文件成为空白的最简单方式,是像下面那样,通过 shell 重定向 null 到该文件: 先看文件 access.log 的大小: 开始执行如下命令清空文件: 文件大小变为了0 2.通过 true 命令重定向来清空文件 下面将使用 : 符号,他是 shell 的一个内置命令,等同于 true 命令,

Linux 下Shell脚本删除过期文件

在写这个shell之前先说一下,stat命令的使用方法 一.关于时间戳 每一个文件都有3中时间(称为时间戳timestamps),对这3种时间,很多时候容易混淆不清,因此 这里要说明下:   Access time(atime):是指取用文件的时间,所谓取用,常见的操作有:使用编辑器查看文件内容,使用cat命令显示文件内容,使用cp命令把该文件(即来源文件)复制成其他文件,或者在这个文件上运用grep sed more less tail head 等命令,凡是读取而不修改文件的操作,均衡改变文

jetty java文件无法删除 java文件占用 delete无效 运行时锁定静态资源的解决方法

前几天jetty下发现java无法删除文件,文件操作后一直被jvm占用,无奈换了tomcat问题消失. 今天又想起来,尝试网上的解决方法,经本人试验,直接修改配置文件有时不能生效,具体原因不清楚,建议使用直接修改web.xml文件 下文中的红色部分 文件被锁定是由于在使用windows系统时,jetty默认在内存中映射了这些文件,而windows会锁定内存映射的文件.解决的办法就是修改jetty的配置,让其在启动server时将useFileMappedBuffer标志位设置为false. 设置

linux删除大文件后空间没释放的问题

问题描述: 磁盘100%,删除大文件后,df -h发现磁盘空间未释放 解决办法: 该问题是因为在Linux系统中,通过rm或者文件管理器删除文件将会从文件系统的目录结构上解除链接(unlink).然而如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用. #lsof  |grep deleted #kill xxx     删除占用文件的进程 #df -h     再次查看磁盘空间

linux下清理系统垃圾

可以使用以下命令清理系统垃圾sudo apt-get autoclean 清理旧版本的软件缓存sudo apt-get clean 清理所有软件缓存sudo apt-get autoremove 删除系统不再使用的孤立软件执行 sudo nautilus /boot 删除除了最新内核以外的其它文件,(比如2006-08-17 官方内核是 26,那就可以删除所有 23,25结尾的旧内核文件) 整理grub启动菜单 sudo gedit /boot/grub/menu.lst 删除除最新内核以外的其

Linux查找并删除重复文件的命令行fdupes工具,dupeGuru图形工具

查了几十个网页,找到这个接近满意的解决方案http://unix.stackexchange.com/questions/146197/fdupes-delete-files-aft... 不过正则里面的叹号好像不能起到清除空行的效果,改为d;fdupes --recurse A/ B/ | sed '/^A/d; /^$/d; s/.*/"&"/' | xargs rm 但还有个小问题,如果A里面有重复的文件,但这文件不在B中,fdupes也是会列为结果,导致误删,要再想想

Foremost恢复Linux中已删除的文件

Foremost 我们只能在Linux中恢复已删除的文件,只要这些扇区在硬盘上没有被覆盖. 首先安装 要在CentOS上安装Foremost,我们将从官方网页下载并安装最前面的rpm.打开终端并执行以下命令 $ sudo yum install https://forensics.cert.org/centos/cert/7/x86_64//foremost-1.5.7-13.1.el7.x86_64.rpm -y 使用Ubuntu,最重要的包可以使用默认存储库.要在Ubuntu上安装最重要的,