歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux管理 >> Linux維護 >> 如何解決Linux不釋放磁盤空間問題

如何解決Linux不釋放磁盤空間問題

日期:2017/3/2 10:27:50   编辑:Linux維護

我們在使用電腦的時候,經常困擾我們的一個問題就是磁盤空間不足,Linux系統中也經常有用戶面對這種問題。有時我們將磁盤中的大文件刪除了,但是磁盤空間卻依然不足,那麼這個問題該怎麼解決呢?現在就和小編一起來看看這個問題的解決方法吧。

解決方法:

查看磁盤空間情況

[@74.114 var]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/xvda2 9.7G 284M 8.9G 4% /

/dev/xvda1 251M 13M 226M 6% /boot

none 1.1G 0 1.1G 0% /dev/shm

/dev/xvda10 97G 60G 33G 65% /home

/dev/xvda3 3.9G 2.7G 1.1G 72% /usr

/dev/xvda5 3.9G 3.6G 77M 98% /var

var分區快滿了,找到大文件,並刪除

[@74.114 var]# cd /var

[@74.114 var]# du –sh *

3.3G account

111M cache

53M log

0 mail

156K run

344K spool

[@74.114 var]# rm –rf account/*

df –h 看一下,卻依然是/var 為98%,一點都沒釋放。

[@74.114 var]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/xvda2 9.7G 284M 8.9G 4% /

/dev/xvda1 251M 13M 226M 6% /boot

none 1.1G 0 1.1G 0% /dev/shm

/dev/xvda10 97G 60G 33G 65% /home

/dev/xvda3 3.9G 2.7G 1.1G 72% /usr

/dev/xvda5 3.9G 3.6G 77M 98% /var

但du –sh * 卻顯示沒有大文件了

[@74.114 ~]# cd /var && du –sh *

120K account

111M cache

53M log

0 mail

156K run

344K spool


猜想1:應該是刪除的內容依然被進程占用,內存沒釋放,所以用lsof |grep – I deleted 看了一下,發現如下:

[@74.114 account]# lsof |grep -i deleted

listserve 4833 blty 0u CHR 136,2 4 /dev/pts/2 (deleted)

listserve 4833 blty 1u CHR 136,2 4 /dev/pts/2 (deleted)

listserve 4833 blty 2u CHR 136,2 4 /dev/pts/2 (deleted)

Billing_P 16989 blty 0u CHR 136,0 2 /dev/pts/0 (deleted)

Billing_P 16989 blty 1u CHR 136,0 2 /dev/pts/0 (deleted)

Billing_P 16989 blty 2u CHR 136,0 2 /dev/pts/0 (deleted)

Billing_P 16990 blty 0u CHR 136,0 2 /dev/pts/0 (deleted)

Billing_P 16990 blty 1u CHR 136,0 2 /dev/pts/0 (deleted)

Billing_P 16990 blty 2u CHR 136,0 2 /dev/pts/0 (deleted)

發現時billing程序占用沒釋放,所以聯系項目經理將Billing_P停掉,重啟,依然沒有釋放任何空間。無果

猜想2:刪除的文件是accout目錄下的pacct文件,應該是由psacct產生和管理,重啟這個程序後是否會OK呢?解決

[@74.114 account]# /etc/init.d/psacct restart

最後看一下磁盤空間,磁盤空間釋放鳥~~

[@74.114 var]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/xvda2 9.7G 284M 8.9G 4% /

/dev/xvda1 251M 13M 226M 6% /boot

none 1.1G 0 1.1G 0% /dev/shm

/dev/xvda10 97G 60G 33G 65% /home

/dev/xvda3 3.9G 2.7G 1.1G 72% /usr

/dev/xvda5 3.9G 100M 3.6M 4% /var

小建議:

以後處理相關問題時,如果發現du 和df 大小不一致的情況,可以通過lsof 查看,也許可以找到一些出現問題的原因,如果還是找不到問題,在允許的情況下不妨試一下重啟服務,也許問題就迎刃而解了。

重啟服務得不到解決的情況下,可以通過卸載磁盤分區來試著解決。

在決定刪除某些文件前,最好確定好這個文件被哪些服務使用,先停掉這些服務再刪除,這樣就很少出現空間釋放不了的情況了

以上就是Linux系統磁盤空間不足的解決方法了,有需要的用戶,就按照上面的操作步驟進行整理吧。

Copyright © Linux教程網 All Rights Reserved