AIX中快速定位引起大量磁碟IO操作的程式

531968912發表於2015-12-17

公司的一個生產應用發生異常,無法正常執行。當時應用系統異常後,登入主機發現/tmp檔案系統寫滿了,刪除了一些不用的檔案後,應用正常,但df -k 檢視後發現 /tmp 剩餘空間仍然在不斷增長,而且速度很快。看來沒有找到問題的實質。最後應用開發人員的協助下,發現是一個應用程式在不斷的向 /tmp 中寫一個臨時檔案,這個臨時檔案不斷增大,最終將 /tmp 撐爆了。總結了如下:

1. 先看看 /tmp 下哪些檔案大小不正常呢?
  find /tmp -size +100000000c -ls (檢視/tmp下大於100M的檔案)
2. 那麼是哪個檔案在頻繁的寫入呢?
  filemon -o filemon.out -O all; sleep 30; trcstop (使用filemon檢視檔案系統的IO)。
  分析生成的filemon.out檔案可以判斷是哪個檔案的IO最大。
3. 那麼是誰,又是哪個程式在寫這個檔案呢?
  fuser -u filename (檢視filename是被誰的什麼程式(pid)使用)

找到了檔案和程式,kill掉程式,刪除檔案就可以解決問題了。

有的時候在沒有kill程式的情況下,刪除了檔案,這是空間是不會釋放的,使用
fuser -d /tmp 
可以看到那個仍然在寫已刪除檔案的程式。kill掉程式,空間釋放。

 

=====================================================================

du -sm * ,看那個檔案/資料夾大 ,然後向下尋找。



topas  dd命令

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25462274/viewspace-1873722/,如需轉載,請註明出處,否則將追究法律責任。

相關文章