1. 程式人生 > >centos 6.5 檢視df -ah 和 du -sh 空間不一致的情況問題分析

centos 6.5 檢視df -ah 和 du -sh 空間不一致的情況問題分析

場景:
centos 6.5 檢視df -ah /data和 du -sh /data 發現計算出的空間不一致的情況

分析過程:
1、當時認為是快取或者是清理檔案儲存延時導致,
使用 echo 3>/proc/sys/vm/drop_cashe 處理;
同時 使用free -m 檢查 記憶體發現可用記憶體正常;
2、使用 lsof |grep deleted 檢查 檔案處理情況
發現 在使用 du -sh * 分析中是使用 rm -rf ** 檔案的處理還在程序中,說明 rm -rf 操作並沒有執行完成;

3、 使用 ps -ef | grep 檔案 跟蹤,發現 跟檔案存在執行的服務程序導致 rm 操作無法進行,停止 該服務程序(kill -9 pid), 再次檢查 lsof |grep deleted
發現 該檔案程序將不再存在
4、 此時 df -ah /data和 du -sh /data 計算慢慢保持一致了

  tips:
  1、當出現du和df差距很大的情況時,考慮是否是有刪除檔案未完成造成的,方法是lsof命令,
    然後停止相關程序即可。
  2、除了rm外,有些命令會間接的刪除檔案,如gzip命令完成後會刪除原來的檔案,
  為了避免刪除問題,壓縮前先確認沒有程序開啟該檔案