Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

磁碟空間爆滿無法讀寫?10 招快速排查與釋放空間實戰指南

編輯:Linux 教學

前言

磁碟空間耗盡是 Linux 伺服器常見嚴重故障,會導致服務掛掉、日誌無法寫入、資料庫崩潰。本文以 /home 分區為例,提供 10 個實戰排查步驟,助您快速定位佔用大戶並安全釋放空間。

核心排查 10 步驟

1. 定期掃描重要檔案系統並比對變化

# ls -lR /home > files.txt
# diff filesold.txt files.txt

分析頻繁讀寫的檔案,預測空間增長趨勢;對低頻存取檔案進行壓縮以節省空間。

2. 檢查 inode 使用情況

# df -i /home

若 inode 充足,代表大檔案佔用空間;若 inode 耗盡,則是大量小檔案導致。

3. 找出佔用空間最大的目錄

# du -hs /home                 # 查看總佔用
# du | awk '$1>2000'           # 列出超過 1000MB 的目錄(單位為 KB)

4. 定位大檔案

# find /home -size +2000k      # 找出超過 2MB 的檔案

5. 找出近期建立或修改的檔案

# touch -t 08190800 test       # 建立時間戳記參考檔(格式:MMDDhhmm)
# find /home -newer test -print

6. 清理系統垃圾與日誌

# find / -name core | xargs rm -rf   # 刪除 core dump
# rm -rf /var/log/*                  # 清空日誌(謹慎操作,建議先備份)

7. 利用符號連結擴充空間

# ln -s /home /usr/home       # 將空間充裕的分區連結到滿載分區

8. 找出佔用大量空間的進程

根據應用特性,使用 lsof、ps 等工具定位佔用磁碟 I/O 或開啟大量檔案的進程,分析根因。

9. 檢查並修復檔案系統

# fsck -y /home

修復潛在的檔案系統錯誤,釋放被標記為壞塊的空間。

10. 重啟機器

釋放被已刪除但仍被進程持有開啟的檔案所佔用的空間(透過 lsof | grep deleted 可預先確認)。

進階快速定位大目錄技巧

cd /
du -h --max-depth=1 | grep G | sort -n
# 進入最大目錄後繼續遞迴
du -h --max-depth=1 | grep G | sort -n
# 若無 G 單位,改用 M
du -h --max-depth=1 | grep M | sort -n

層層深入,快速鎖定空間大戶,確認無用檔案後刪除。

總結建議

  • 上述 10 招無固定順序,視情況單招或組合使用。
  • 刪除操作務必謹慎,先確認檔案性質與備份。
  • 根本解決之道在於安裝時妥善規劃分區,並建立磁碟監控告警機制。
  • 若仍無法解決,唯有加裝硬碟或重新安裝系統等「硬辦法」。
Copyright © Windows教程網 All Rights Reserved