Rootop 服务器运维与web架构

zabbix报警磁盘使用率高 lsof deleted

zabbix报警磁盘使用率高 lsof deleted

zabbix提示磁盘使用率达到80%了,但是去看对应的分区,统计大小发现不对。

[root@localhost ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda3       17G  4.2G   13G  25% /
devtmpfs        7.8G     0  7.8G   0% /dev
tmpfs           7.7G     0  7.7G   0% /dev/shm
tmpfs           7.7G  537M  7.2G   7% /run
tmpfs           7.7G     0  7.7G   0% /sys/fs/cgroup
/dev/xvdb1       99G   79G   15G  85% /home
/dev/xvda1     1014M  131M  884M  13% /boot
tmpfs           1.6G     0  1.6G   0% /run/user/0
overlay          17G  4.2G   13G  25% /var/lib/docker/overlay2/26d1ef95672fa668f982e5d65a45d76172017d915d34cc29e1192feb1fe24724/merged
overlay          17G  4.2G   13G  25% /var/lib/docker/overlay2/1a7ac2aa8da4ccb74632f1e19ba58989b4ef90341577e95225c5ea568582a3db/merged
overlay          17G  4.2G   13G  25% /var/lib/docker/overlay2/3525382a68d07254d42c9f9c2767391785dda8bf04f8dd1f780a373cdd34ccca/merged

# 去查home大小

[root@localhost ~]# du -sh /home
9.7G	/home

实际发现才不到10G,很有可能是删除了日志文件,而不是清空文件内容。

# 通过lsof查找标记为删除状态的文件

[root@localhost tmp]# lsof | grep deleted
java        557   560              root    6w      REG              202,3       9248   17719072 /tmp/spring.log.7 (deleted)
.
.
.
省略部分

第二列是进程号

# 查出来有很多重复的,这里直接截取第10列,并根据此列去重

[root@localhost tmp]# lsof | grep deleted | awk '{print $10}' | sort -u
(deleted)
/home/jar/basic/logs/basic-service-2020-04-20.error.log
/home/jar/config/log.log
/home/jar/pay/log.log
/home/jar/product/log.log
/home/jar/product/logs/product-service1-2020-02-11.error.log
/home/jar/sign/log.log
/home/jar/sign/logs/sign-2020-02-11.error.log
/home/jar/zuul/log.log
/home/web/tomcat-ald/logs/catalina.out
/home/web/tomcat-ald/logs/host-manager.2020-02-12.log
/home/web/tomcat-ald/logs/manager.2020-02-12.log
/home/web/tomcat-report/logs/catalina.out
/home/web/tomcat-report/logs/host-manager.2020-02-18.log
/home/web/tomcat-report/logs/manager.2020-02-18.log
/tmp/spring.log.7
/var/log/rabbitmq/log/crash.log.3

这里每个日志都在对应的项目目录下,这样就能查到哪些文件被打开但标记是删除。也可以通过进程号找到对应进程。
挨个去重启相应的服务就会释放打开的文件。

原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/4759.html

作者:Venus

服务器运维与性能优化

评论已关闭。