磁盤空間滿了
模擬:
seq 500000000 >>/var/log/messages
磁盤空間不足-滿了
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 8.8G 6.1G 2.3G 74% /
tmpfs 931M 0 931M 0% /dev/shm
/dev/sda1 190M 40M 141M 22% /boot
/dev/sdc 73K 14K 55K 21% /app/logs
排查哪裏站的地方大
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 8.8G 6.1G 2.3G 74% /
tmpfs 931M 0 931M 0% /dev/shm
/dev/sda1 190M 40M 141M 22% /boot
/dev/sdc 73K 14K 55K 21% /app/logs
du -sh /* |grep G
du: cannot access `/proc/24690/task/24690/fd/4‘: No such file or directory
du: cannot access `/proc/24690/task/24690/fdinfo/4‘: No such file or directory
du: cannot access `/proc/24690/fd/4‘: No such file or directory
du: cannot access `/proc/24690/fdinfo/4‘: No such file or directory
1.1G /usr
4.7G /var
du -sh /var/* |grep G
4.6G /var/log
du -sh /var/log/* |grep G
4.6G /var/log/messages
ls -lh /var/log/messages
-rw------- 1 root root 4.6G May 20 16:36 /var/log/messages
刪除占地大的文件-確認好
\rm -f /var/log/messages
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 8.8G 6.1G 2.3G 74% /
tmpfs 931M 0 931M 0% /dev/shm
/dev/sda1 190M 40M 141M 22% /boot
/dev/sdc 73K 14K 55K 21% /app/logs
刪除失敗
- 硬鏈接數為零 rm
- 進程調用數為零
誰在使用已經被刪除的 /var/log/messages
lsof |grep messages
rsyslogd 1248 root 1w REG 8,3 4888889152 140769 /var/log/messages (deleted)
重啟對應的軟件rsyslogd
/etc/init.d/rsyslog restart
df -h
/dev/sda3 8.8G 1.6G 6.8G 19% /
tmpfs 931M 0 931M 0% /dev/shm
/dev/sda1 190M 40M 141M 22% /boot
/dev/sdc 73K 14K 55K 21% /app/lo
一個文件被徹底刪除條件(文件刪除原理)
硬鏈接數為零 rm
進程調用數為零 lsof 文件 或 lsof |grep 文件
磁盤空間滿了