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
- AIX檔案系統滿的問題分析AI
- ORACLE LINUX 5.5 UDEV繫結asm磁碟問題OracleLinuxdevASM
- 故障分析 | 租戶 memstore 記憶體滿問題排查記憶體
- Linux 離奇磁碟爆滿解決辦法Linux
- Linux磁碟如何管理?滿了以後怎麼清理?Linux
- Linux磁碟空間爆滿,MySQL無法啟動LinuxMySql
- 如何解決 Linux 中“磁碟空間不足”的問題Linux
- Linux空間不足怎麼辦?磁碟滿了如何清理?Linux
- Linux空間不足怎麼辦?Linux磁碟滿了怎麼清理?Linux
- Docker啟動出現"No space left on device" 或者 docker日誌太多導致磁碟佔滿問題Dockerdev
- oracle 10g rac+asm 歸檔路徑磁碟組空間滿問題處理Oracle 10gASM
- 磁碟問題定位與解決
- 檢測磁碟空間問題
- linux磁碟已滿,檢視哪個檔案佔用多Linux
- 處理SQLServer errorlog滿問題SQLServerError
- 詳細探祕Linux 和 Window 雙系統訪問Windows 磁碟需要輸入密碼問題解決過程分析LinuxWindows密碼
- [20131115]archivelog產生太快dataguard磁碟滿的問題解決.txtHive
- oracle的臨時表空間寫滿磁碟空間,解決改問題的具體步驟Oracle
- 磁碟寫滿快速排查與解決
- 伺服器磁碟空間滿了伺服器
- docker引起伺服器磁碟爆滿Docker伺服器
- 解決FRA空間滿的問題
- Linux磁碟爆滿無法進入圖形化介面解決方法Linux
- oracle的還原表空間UNDO寫滿磁碟空間,解決該問題的具體步驟Oracle
- RAC磁碟頭損壞問題處理
- ASM中磁碟組許可權問題ASM
- wmware共享磁碟redhat 5.8掛載問題Redhat
- Linux下磁碟裝置檔案(sda,sdb,sdc….)變化的問題薦Linux
- [轉帖]效能分析之TCP全連線佇列佔滿問題分析及最佳化過程TCP佇列
- Linux系統及應用問題分析排查工具Linux
- ClientAbortException 問題分析clientException
- Hadoop org.apache.hadoop.util.DiskChecker$DiskErrorException問題等價解決linux磁碟不足解決問題排查HadoopApacheErrorExceptionLinux
- 開發板磁碟沒用就滿了
- dataguard standby備庫磁碟空間滿(ZT)
- 索引節點(inode)爆滿問題處理索引