Linux磁碟滿問題分析
線上一臺Linux伺服器最近經常磁碟根分割槽滿告警,
但不是普通的日誌檔案或資料檔案過多過大,現象如下:
1)執行“df -h”檢視各分割槽空間的使用情況
[root@XEN64 /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 9.8G 8.7G 535M 95% /
devtmpfs 7.7G 0 7.7G 0% /dev
tmpfs 7.7G 0 7.7G 0% /dev/shm
tmpfs 7.7G 666M 7.1G 9% /run
tmpfs 7.7G 0 7.7G 0% /sys/fs/cgroup
/dev/sda3 20G 3.3G 16G 18% /usr/local
可以看到根分割槽使用率超過了預警值,
進入根目錄,檢視根目錄下各子目錄的大小:
[root@XEN64 /]# du -sm *
0 bin
180 boot
0 dev
24 etc
3 home
0 lib
0 lib64
1 lost+found
1 media
1 mnt
32 opt
du: cannot access 'proc/17842/task/17842/fd/4': No such file or directory
du: cannot access 'proc/17842/task/17842/fdinfo/4': No such file or directory
du: cannot access 'proc/17842/fd/4': No such file or directory
du: cannot access 'proc/17842/fdinfo/4': No such file or directory
0 proc
2 root
666 run
0 sbin
1 srv
0 sys
96 tmp
5856 usr
221 var
進一步檢查/usr目錄:
[root@XEN64 /usr]# du -sm *
358 1.2-compat
164 bin
1 etc
1 games
33 include
912 lib
432 lib64
101 libexec
3269 local
1 man
46 sbin
547 share
1 src
0 tmp
對比du和df的結果,可以發現兩者的已使用大小不一致,
du命令得到的已用大小遠小於df命令已用大小,初步猜測存已被刪除檔案仍然有程式在寫它,導致du命令發現不了。
如果允許,最簡單的處理方式是重啟機器,不然用下列命令找出被刪除的,但仍然可能有程式在寫它的檔案:
pids=`ps aux|awk '{print $2}'`;for pid in $pids; do lsof -p $pid|grep del; done
見到廬山真面目:
[root@XEN64 /proc]# pids=`ps aux|awk '{ if (NR>1) print $2}'`;for pid in $pids; do lsof -p $pid|grep del; done
stati 28885 root 1w REG 8,1 5969132048 409096 /tmp/process_monitor-root.log (deleted)
stati 28885 root 2w REG 8,1 5969132048 409096 /tmp/process_monitor-root.log (deleted)
stati 28885 root 3u REG 8,4 20480039 35651587 /data/consumer/log/consumer.log.5 (deleted)
consumer 29756 root 1w REG 8,1 5969132048 409096 /tmp/process_monitor-root.log (deleted)
consumer 29756 root 2w REG 8,1 5969132048 409096 /tmp/process_monitor-root.log (deleted)
consumer 29756 root 3u REG 8,4 20480039 35651587 /data/consumer/log/consumer.log.5 (deleted)
果然是有大量的已經刪除檔案,辦法要麼重啟,要麼重啟持有它們的程式,問題即可解決。
相關文章
- Linux磁碟空間佔滿問題快速排雷Linux
- 解決jenkins執行磁碟滿的問題Jenkins
- 解決docker容器存放目錄磁碟空間滿了問題Docker
- Linux 離奇磁碟爆滿解決辦法Linux
- Linux磁碟如何管理?滿了以後怎麼清理?Linux
- Linux空間不足怎麼辦?Linux磁碟滿了怎麼清理?Linux
- 故障分析 | 租戶 memstore 記憶體滿問題排查記憶體
- Linux空間不足怎麼辦?磁碟滿了如何清理?Linux
- linux磁碟已滿,檢視哪個檔案佔用多Linux
- 詳細探祕Linux 和 Window 雙系統訪問Windows 磁碟需要輸入密碼問題解決過程分析LinuxWindows密碼
- 磁碟問題定位與解決
- Hadoop org.apache.hadoop.util.DiskChecker$DiskErrorException問題等價解決linux磁碟不足解決問題排查HadoopApacheErrorExceptionLinux
- Docker啟動出現"No space left on device" 或者 docker日誌太多導致磁碟佔滿問題Dockerdev
- 處理SQLServer errorlog滿問題SQLServerError
- Linux磁碟爆滿無法進入圖形化介面解決方法Linux
- Linux 磁碟與磁碟分割槽Linux
- [20230201]磁碟空間爆滿.txt
- 問題:未清空磁碟被新增到磁碟組觸發壞塊
- RAC磁碟頭損壞問題處理
- linux磁碟清理Linux
- Linux磁碟管理Linux
- Linux 磁碟管理Linux
- linux 磁碟使用Linux
- docker引起伺服器磁碟爆滿Docker伺服器
- 伺服器磁碟空間滿了伺服器
- 磁碟寫滿快速排查與解決
- Dutree – Linux上的命令列磁碟使用情況分析工具Linux命令列
- ClientAbortException 問題分析clientException
- [轉帖]效能分析之TCP全連線佇列佔滿問題分析及最佳化過程TCP佇列
- linux之磁碟管理Linux
- Linux 磁碟操作管理Linux
- Linux 常見問題Linux
- linux遇到的問題Linux
- Linux時區問題Linux
- Linux排查JVM問題LinuxJVM
- Sentry 服務磁碟佔滿 清除postgresql方法SQL
- 開發板磁碟沒用就滿了
- Rabbimtmq unack問題分析MQ