Linux刪除大文件後磁盤空間未釋放問題

前言

工作中經常遇到Linux系統磁盤空間不足,但是刪除後較大的日誌文件後,發現磁盤空間仍沒有被釋放,有點摸不着頭腦,今天博主帶大家解決這個問題。

思路

1、工作發現磁盤空間不足;

2、找到佔用磁盤空間較大的文件進行刪除;

3、刪除文件後,查看磁盤空間使用情況,未釋放;

4、找到相應delete進程,殺掉即可,問題解決。

具體操作

查看服務器磁盤空間使用情況

[[email protected] ~]# df -h
Filesystem         Size  Used Avail Use% Mounted on
/dev/vda3           51G   34G   15G  70% /
tmpfs              7.8G     0  7.8G   0% /dev/shm
/dev/vda1          190M   38M  143M  21% /boot
/dev/mapper/vg-lv   92G  597M   87G   1% /disk1
You have new mail in /var/spool/mail/root
[[email protected] ~]#

使用命令:du -sh *,查看當前所在目錄的各子目錄磁盤空間佔用情況

[[email protected] /]# du -sh *    #該命令可以列出當前所在目錄的子目錄所佔空間大小
7.8M    bin
36M    boot
4.0K    cgroup
4.0K    Hello

依此類推,可以找到一些無用的大文件進行刪除,刪除後發現磁盤空間未釋放,使用命令:lsof | grep delete

[[email protected] cloud]# lsof | grep delete
java       2873      root    1w      REG              252,3 6392907748    1575685 /home/cloud/test/nohup.out (deleted)
java       2873      root    2w      REG              252,3 6392907748    1575685 /home/cloud/test/nohup.out (deleted)
java       2873      root   53u      REG              252,3          0    1704161 /home/cloud/test/file:/home/cloud/test/test.jar!/BOOT-INF/classes!/flume/run/data/in_use.lock (deleted)
java       2873      root  185r      REG              252,3 1623704364    1704176 /home/cloud/test/file:/home/cloud/test/test.jar!/BOOT-INF/classes!/flume/run/data/log-14 (deleted)
java       2873      root  187u      REG              252,3 1147833050    1704194 /home/cloud/test/file:/home/cloud/test/test.jar!/BOOT-INF/classes!/flume/run/data/log-15 (deleted)
java       2873      root  262r      REG              252,3 1147833050    1704194 /home/cloud/test/file:/home/cloud/test/test.jar!/BOOT-INF/classes!/flume/run/data/log-15 (deleted)
[[email protected] cloud]#

找到相應的進程號,刪除即可。

命令:sudo kill -9 pid

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章