Linux服务器磁盘占满问题解决

今天下班某电商技术部leader发现个问题,说他们服务器硬盘满了。把日志文件都删掉了,可硬盘空间依旧满。于是df -h查看了下各个挂载点的状况(如下图)。



/dev/sda3占用了100%,那么我们du -s -h ./*看下目录的占用情况(如下图)。

linux磁盘挂载点目录占用情况(图)

挂载点下的目录之和远小于4.5G,那么是什么占用了硬盘呢?

以下为该问题的解答:

在apache/tomcat服务在运行状态下,清空了运行服务的日志,从而导致了/dev/sda3 满了的问题。一般情况下,大多数服务(包括脚本)在运行时,是不能删除当前正在写入的日志文件的。

原理分析:

1. 当前access.log日志正在被apache进程占用。

2. 通过rm命令删除access.log,实际只删除了文件名(该日志文件应用记数不为0,因此空间不会被释放)。

3. 通过rm命令删除了access.log后,apache依然写日志到access.log中,当开启apache进程时,已经通过access.log定位到该文件的inode了,就是说再写日志是不通过access.log,因此即使删除了access.log,apache依然写日志到access.log所在的inode节点,所以导致硬盘空间增加。

4. 因为删除了access.log,所以我们就找不到该文件了,du也查不到,就会出现硬盘满了但看不到究竟是哪些文件占用的。

(写的不甚详细,不明白的大家再google下。)

解决方法:

重启该日志文件的相关服务或程序,如:为apache日志文件则重启apache(如下图,重启后才硬盘空间占用正常)。

(0)

相关推荐

  • LINUX系统磁盘空间满清除的办法

    由于当初安装系统设计不合理,有些分区的过小,以及网络通讯故障等造成日志文件速度增长等其他原因都可以表现为磁盘空间满,造成无法读写磁盘,应用程序无法执行等。下面就给你支几招(以/home空间满为例)。 ...

  • Linux构造磁盘空间满的测试环境解决方案

    利用suse操作系统的ramdisk,来挂接虚拟磁盘分区,然后通过填满虚拟磁盘分区来实现磁盘满环境的条件。 ramdisk是操作系统自带的一种内存块设备,这种设备的列表可以用ls /dev/ram*来 ...

  • Linux查看磁盘剩余空间方法

    (1)查看文件大小 查看当前文件夹下所有文件大小(包括子文件夹) du -sh # du -h 15M ./package 16K ./.fontconfig 4.0K ./.cache 5.1M . ...

  • 16个不可不知的Linux服务器监控命令

    想不想知道你的服务器到底在干什么?那么你要知道本文介绍的这些基本命令。一旦你熟悉掌握了这些命令,就为成为专业的 Linux系统管理员打下了基础。 你可以通过图形化用户界面(GUI)程序来获取这些外壳命 ...

  • 25个Linux服务器安全小技巧

    大家都认为Linux 默认是安全的,我大体是认可的(这是个有争议的话题)。Linux默认确实有内置的安全模型。你需要打开它并且对其进行定制,这样才能得到更安全的系统。Linux更难管理,不过相应也更灵 ...

  • 介绍25个Linux 服务器安全小技巧

    大家都认为Linux 默认是安全的,我大体是认可的(这是个有争议的话题)。Linux默认确实有内置的安全模型。你需要打开它并且对其进行定制,这样才能得到更安全的系统。Linux更难管理,不过相应也更灵 ...

  • Linux服务器被黑以后处理步骤详解

    首先,要冷静,喝口水压压惊.安全总是相对的,再安全的服务器也有可能遭受到攻击. 随着开源产品的越来越盛行,作为一个Linux运维工程师,能够清晰地鉴别异常机器是否已经被入侵了显得至关重要,个人结合自己 ...

  • qq个人文件夹所在磁盘已满怎么清理?

    qq提示个人文件夹磁盘已满的清理步骤 方法/步骤1 01 首先我们登陆QQ,然后点击软件底下的齿轮符号,打开系统设置  如图 02 在基本设置那里,点击"文件管理" 如图 03 找 ...

  • 如何在Amazon AWS上设置一台Linux服务器

    AWS(Amazon Web Services)是全球领先的云服务器提供商之一.你可以使用 AWS 平台在一分钟内设置完服务器.在 AWS 上,你可以微调服务器的许多技术细节,如 CPU 数量,内存和 ...