首頁 > 軟體

「no space left on device」(磁碟空間不足)問題解決

2020-06-16 17:08:43

關於“no space left on device”(磁碟空間不足)問題

1.首先介紹兩個命令
df -h檢視磁碟使用情況
df -i 檢視inode使用情況
2.block滿了
通常解決方法是刪除大檔案,不要直接刪除,先確認資料是否重要,否則就掉坑裡了。

[root@linuxidc ~]# cd /app/logs/
[root@linuxidc logs]# ls -lh /bin/ls
-rwxr-xr-x. 1 root root 107K Mar 23 02:52 /bin/ls
[root@linuxidc logs]# df -h
Filesystem    Size  Used Avail Use% Mounted on
/dev/sdc        73K  14K  55K  21% /app/logs
[root@linuxidc logs]# cp /bin/ls .
cp: writing `./ls': No space left on device
[root@linuxidc logs]# df -h
Filesystem    Size  Used Avail Use% Mounted on
/dev/sdc        73K  70K    0 100% /app/logs
[root@linuxidc logs]#

3.inode用光了
出現這種情況,是小檔案佔用較多的inode,建立檔案或目錄占用一個inode,通常這些小檔案是定時任務引起的,刪除需慎重。

 [root@linuxidclogs]# df -h 
Filesystem    Size  Used Avail Use% Mounted on
/dev/sdc        73K  14K  55K  21% /app/logs
[root@linuxidc logs]# df -i
Filesystem    Inodes IUsed  IFree IUse% Mountedon
/dev/sdc          16    11      5  69% /app/logs
[root@linuxidc logs]# touch a{1..6}txt
touch: cannot touch `a6txt': No space left ondevice
[root@linuxidc logs]# df -h
Filesystem    Size  Used Avail Use% Mounted on
/dev/sdc        73K  14K  55K  21% /app/logs
[root@linuxidc logs]# df -i
Filesystem    Inodes IUsed  IFree IUse% Mountedon
/dev/sdc          16    16      0  100% /app/logs
[root@linuxidc logs]#

-------------------------

1.問題描述
no space left on device(磁碟空間不足)
2.檔案刪除原理
(1)硬連結數為0(所有硬連結均被刪除)
(2)進程呼叫數為0(沒有進程在排程檔案)
3.原因分析
硬連結數為0,進程排程數不為0
4.過程演示
(1)建立大檔案

[root@linuxidc ~]# seq 500000000 > /var/log/messages
(2)檢視磁碟使用情況

[root@linuxidc ~]# df -h
Filesystem    Size  Used Avail Use% Mounted on
/dev/sda3      19G  6.1G  12G  35% /
 

(3)刪除紀錄檔檔案/var/log/messages
[root@linuxidc ~]# rm -rf /var/log/messages
(4)檢視空間是否被釋放

[root@linuxidc ~]# df -h
Filesystem    Size  Used Avail Use% Mounted on
/dev/sda3      19G  6.1G  12G  35% /
 
(5)檢視檔案還被哪些進程呼叫

[root@linuxidc ~]# lsof | grep delete
rsyslogd 2839      root    1w    REG                8,3 4888888898    393106 /var/log/messages (deleted)

(6)重新啟動對應的服務

[root@linuxidc ~]# /etc/init.d/rsyslog restart
Shutting down system logger:                        [  OK  ]
Starting system logger:                                    [  OK  ]
 
(7)檢查磁碟使用情況

[root@linuxidc ~]# df -h
Filesystem    Size  Used Avail Use% Mounted on
/dev/sda3        19G 1.5G  17G  9% /

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


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