就是折腾

就是折腾

阅读 444

最后更新:2022/11/22/ 13:47:33

CentOS 磁盘空间使用率与实际不符

问题描述

CentOS7 根目录磁盘空间显示已使用365GB,分析后发现实际只用了150GB。

磁盘使用率

查看磁盘使用率,显示已用365GB

[root@DOCDB-CentOS disk]# df -h
Filesystem                             Size  Used Avail Use% Mounted on
devtmpfs                               5.8G     0  5.8G   0% /dev
tmpfs                                  5.8G     0  5.8G   0% /dev/shm
tmpfs                                  5.8G  202M  5.6G   4% /run
tmpfs                                  5.8G     0  5.8G   0% /sys/fs/cgroup
/dev/mapper/centos-root                386G  365G  1.4G 100% /

查看根目录文件夹空间使用情况,实际只用了150GB

Results:
     1.| PATH:   www          | FULL SIZE:   129.18 Gb   | DEPTH: 1
     2.| PATH:   usr          | FULL SIZE:    10.34 Gb   | DEPTH: 1
     3.| PATH:   var          | FULL SIZE:     9.75 Gb   | DEPTH: 1
     4.| PATH:   home         | FULL SIZE:     1.18 Gb   | DEPTH: 1
     5.| PATH:   mnt          | FULL SIZE:   374.04 Mb   | DEPTH: 1
     6.| PATH:   boot         | FULL SIZE:   234.04 Mb   | DEPTH: 1
     7.| PATH:   run          | FULL SIZE:   200.08 Mb   | DEPTH: 1
     8.| PATH:   opt          | FULL SIZE:   137.36 Mb   | DEPTH: 1
     9.| PATH:   root         | FULL SIZE:   131.93 Mb   | DEPTH: 1

原因分析

可能的原因:存在已删除但仍被程序占用的文件

[root@CentOS disk]# lsof |grep delete
zabbix_ag  3036        zabbix    1w      REG              253,0       742195   22020237 /var/log/zabbix/zabbix_agentd.log-20220918 (deleted)
zabbix_ag  3036        zabbix    2w      REG              253,0       742195   22020237 /var/log/zabbix/zabbix_agentd.log-20220918 (deleted)
consul     5540          root    1w      REG              253,0 232694440070   19933862 /usr/local/src/nohup.out-20220816 (deleted)
consul     5540          root    2w      REG              253,0 232694440070   19933862 /usr/local/src/nohup.out-20220816 (deleted)
consul     5540  5541    root    1w      REG              253,0 232694439660   19933862 /usr/local/src/nohup.out-20220816 (deleted)

nohup.out是 JAVA 程序的日志文件,已经增长到232694439660字节。文件/usr/local/src/nohup.out-20220816被进程consul占用。

解决办法

方法一

停止consul进程,重新启动,但会影响业务。

方法二(不中断业务方法)

进入进程目录(5540),清空nohup.out-20220816文件内容。

操作记录

查找文件

[root@CentOS disk]# cd /proc/5540/fd
[root@CentOS fd]# ll | grep nohup.out
l-wx------ 1 root root 64 Nov 21 18:25 1 -> /usr/local/src/nohup.out-20220816 (deleted)
l-wx------ 1 root root 64 Nov 21 18:25 2 -> /usr/local/src/nohup.out-20220816 (deleted)

清空日志内容
使用echo输出重定向

[root@CentOS fd]# echo > 1

再次查看磁盘空间

[root@CentOS fd]# df -h|grep root
/dev/mapper/centos-root  386G  149G  218G  41% /

版权申明

本文系作者 @就是折腾 原创发布在就是折腾站点。未经许可,禁止转载。

关于作者

站点职位 博主
获得点赞 29
文章阅读 54,261

其他文章