2021-05-12 14:32:11
Linux磁碟空間佔滿故障解決方法
當磁碟被某大檔案占滿時,而且此大檔案正在被某些進程讀寫並占用著,此時無法刪除和置空此檔案,只能先找到佔用大檔案的進程,然後終止進程,最後置空此檔案。
範例如下:在/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
相關文章