首頁 > 軟體

Linux磁碟空間佔滿故障解決方法

2020-06-16 17:08:55

當磁碟被某大檔案占滿時,而且此大檔案正在被某些進程讀寫並占用著,此時無法刪除和置空此檔案,只能先找到佔用大檔案的進程,然後終止進程,最後置空此檔案。

範例如下:在/boot分割區中建立大檔案test,將boot分割區的磁碟佔滿,通過另外一個終端進入主機,vim編輯此test檔案,模擬大檔案被vim進程佔用,然後刪除和清空此test檔案。

終端1
[root@CentOS7 ~]# df -h  /boot/                                    #檢視boot分割區大小
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1      997M  110M  887M  12% /boot
[root@centos7 ~]# dd  if=/dev/zero of=/boot/test bs=1M count=900      #建立900M檔案,佔滿磁碟
dd: error writing ‘/boot/test’:  No space left on device
887+0 records in
886+0 records out
930058240 bytes (930 MB)  copied, 13.166 s, 70.6 MB/s
[root@centos7 ~]#
 
終端2在建立好大檔案後,啟用終端2,vim編輯此檔案,模擬此檔案被占用

[root@centos7boot]# vim test
1
~                                                                                                                                                                                           
~   

回到終端1中進行刪除檔案

[root@centos7 ~]# rm -rf/boot/test                            #無法刪除此大檔案
[root@centos7 ~]# df -h /boot                            #發現此大檔案並沒有被刪除
Filesystem      Size Used Avail Use% Mounted on
/dev/sda1      997M 997M  20K 100% /boot
[root@centos7 ~]# >/boot/test                          #置空此大檔案並沒有被置空
-bash: /boot/test: No spaceleft on device
[root@centos7 ~]# df -h /boot
Filesystem      Size Used Avail Use% Mounted on
/dev/sda1      997M 997M  20K 100% /boot
[root@centos7 ~]# lsof |grep/boot/test
vim      6562        root  3r      REG                8,1 930045952    456127 /boot/test
root@centos7 ~]# kill 6562                              #殺死此vim的進程
[root@centos7 ~]# >/boot/test                          #置空此檔案
[root@centos7 ~]# df -h /boot                          #驗證發現此檔案已經被清空
Filesystem      Size Used Avail Use% Mounted on
/dev/sda1      997M 110M  887M  12% /boot
[root@centos7 ~]# rm -rf/boot/test                    #然後刪除此檔案
[root@centos7 ~]# ll/boot/test
ls: cannot access/boot/test: No such file or directory

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-08/146459.htm


IT145.com E-mail:sddin#qq.com