df -h 后发现/根目录已经使用100%

起因:磁盘告警

磁盘使用超过阈值,发送告警短信或邮件

主机:172.21.XXX.X,磁盘阈值:85%,使用率85%,发送时间:08:35:39

df -h 命令查看磁盘使用情况

[cent@node-03 ~]$ df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   45G   40G  5.0G  89% /
devtmpfs                  16G     0   16G   0% /dev

/dev/mapper/centos-root 此为根目,磁盘使用情况超过阈值

常见的过阈值情况

某个进程存在,占用空间

df -h 命令可以查看根目录的使用情况
du -sh * 命令可以查看当前目录所有文件和文件夹的大小
sudo du / -h --max-depth=1 命令查看各个目录的占用空间

1.可能文件已被删除,但是进程还存活的场景

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

lsof | grep -i delete 或者 
lsof +d /tmp 或者 
lsof +D /tmp

如上所示,将查询到的进程全部杀掉,再次用df -h 命令查看磁盘空间

2.存在某个进程一直在写文件,占用空间

1)首先使用 sudo du / -h --max-depth=1 命令查看各个目录的占用空间,试图找到占用较多空间的目录

13G     /tmp/spark-26626127-eb28-430b-bcbd-92eb6c2613ef
13G     /tmp/spark-56d798c6-9604-47e6-8a51-a0ca10d5df27

查询到上面目录占用空间较大,切换到该目录,进一步查看文件

[cent@node-03 ~]$ cd /tmp/spark-56d798c6-9604-47e6-8a51-a0ca10d5df27/__driver_logs__
[centuser@node-03 __driver_logs__]$ ls
driver.log

发现一直有日志写入到driver.log,日志数据为程序异常日志。

2)使用 lsof +d 命令查看进程号

lsof +d /tmp/spark-56d798c6-9604-47e6-8a51-a0ca10d5df27/__driver_logs__
COMMAND    PID     USER   FD   TYPE DEVICE    SIZE/OFF      NODE NAME
java    218506 centuser  299w   REG  253,0 13050726452 107002935 /tmp/spark-56d798c6-9604-47e6-8a51-a0ca10d5df27/__driver_logs__/driver.log

3)使用 ps -ef|grep PID 查看进程具体信息,评估是否可以kill

centuser 218670 218506  0  2022 ?        01:06:09 /opt/anaconda3/bin/python3 /home/centuser/apps/job_agent/query4livy.py -d data -i tmp/input-15b578cd50634f2184211ca9b3982afd

4)使用 kill PID 杀掉进程

kill 218670

5) 使用 df -h 检查磁盘使用情况

[cent@node-03 ~]$ df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   45G   16G   30G  36% /

结果磁盘占用恢复

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值