某台搭建的服务器,邮件一直报警磁盘空间占用大。于是df -hT查看。
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs tmpfs 7.8G 42M 7.8G 1% /run
tmpfs tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 44G 41G 20M 98% /
在根目录下通过du查找占用较大的目录,但得出的结论是所有目录容量加一块也才不到20G。那问题出在哪里。
后面百度得知,原来有的文件可能删除了,但是并没有被释放,就像进入回收站一样,于是用lsof命令查看那些删除了但是还打开着文件句柄的文件,并按照大小顺序排列。
# lsof -n | grep delete
http-nio- 23548 23644 root 258r REG 253,0 62661 1093974 /usr/local/datax/datax-web-2.1.2/modules/datax-admin/lib/hbase-replication-2.0.0.jar (deleted)
http-nio- 23548 23644 root 259r REG 253,0 175251 1093975 /usr/local/datax/datax-web-2.1.2/modules/datax-admin/lib/stream-2.9.5.jar (deleted)
http-nio- 23548 23644 root 260r REG 253,0 38059 1093976 /usr/local/datax/datax-web-2.1.2/modules/datax-admin/lib/i18n-util-1.0.4.jar (deleted)
http-nio- 23548 23644 root 261r REG 253,0 12272759 1093977 /usr/local/datax/datax-web-2.1.2/modules/datax-admin/lib/icu4j-60.2.jar (deleted)
http-nio- 23548 23644 root 262r REG 253,0 55550 1093978 /usr/local/datax/datax-web-2.1.2/modules/datax-admin/lib/icu4j-localespi-60.2.jar (deleted)
http-nio- 23548 23644 root 263r REG 253,0 3129624 1093979 /usr/local/datax/datax-web-2.1.2/modules/datax-admin/lib/icu4j-charset-60.2.jar (deleted)
http-nio- 23548 23644 root 264r REG 253,0 84123 1093980 /usr/local/datax/datax-web-2.1.2/modules/datax-admin/lib/disruptor-3.3.6.jar (deleted)
发现有/usr/local/datax/下所有文件状态为deleted,但是文件句柄仍然被打开了。如果有进程在使用某个文件,你把这个文件删掉之后,它不会马上释放空间,除非你手工重启该进程。于是kill 该进程,问题解决。
]# ps -ef | grep data
root 521 2 0 Apr17 ? 00:00:00 [xfs-data/dm-0]
root 751 2 0 Apr17 ? 00:00:00 [xfs-data/sda1]
root 1917 1326 0 Apr17 tty1 00:00:26 /usr/bin/X :0 -background none -noreset -audit 4 -verbose -auth /run/gdm/auth-for-gdm-QLPF6h/database -seat seat0 -nolisten tcp vt1
root 17926 2 0 May31 ? 00:00:00 [xfs-data/sdb1]
root 23006 16601 0 16:04 pts/0 00:00:00 grep --color=auto data
root 23548 1 0 Apr21 ? 02:19:32 java -Xms2g -Xmx2g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:HeapDumpPath=/usr/local/datax/datax-web-2.1.2/modules/datax-admin/bin/../logs -Dlog.path=/usr/local/datax/datax-web-2.1.2/modules/datax-admin/bin/../logs -Duser.dir=/usr/local/datax/datax-web-2.1.2/modules/datax-admin/bin/../ -Dserver.port=9527 -Ddata.path=/usr/local/datax/datax-web-2.1.2/modules/datax-admin/bin/../data -Dmail.username=datax -Dmail.password=123456 -Dlogging.config=/usr/local/datax/datax-web-2.1.2/modules/datax-admin/bin/../conf/logback.xml -classpath /usr/local/datax/datax-web-2.1.2/modules/datax-admin/bin/../lib/*:/usr/local/datax/datax-web-2.1.2/modules/datax-admin/bin/../conf:. com.wugui.datax.admin.DataXAdminApplication
# kill -9 23548
# df -hT
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs tmpfs 7.8G 42M 7.8G 1% /run
tmpfs tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 44G 14G 31G 32% /
/dev/sda1 xfs 1014M 292M 723M 29% /boot
tmpfs tmpfs 1.6G 12K 1.6G 1% /run/user/42
cm_processes tmpfs 7.8G 23M 7.8G 1% /run/cloudera-scm-agent/process
tmpfs tmpfs 1.6G 4.0K 1.6G 1% /run/user/0
参考链接:
1、磁盘满了,却找不到大文件
https://blog.csdn.net/maquealone/article/details/83054103
https://blog.csdn.net/weixin_38642130/article/details/93639563