當 Linux 磁盤空間滿了時
請注意,在進行任何刪除操作之前,請確保你知道哪些文件可以安全刪除,并備份重要文件,以免意外丟失數據。
- 當 Linux 磁盤空間滿了時,可以按照以下步驟進行排查:
- 檢查磁盤使用情況: 運行
df -h
命令來查看磁盤使用情況。該命令將顯示每個掛載點的磁盤使用量,以及可用空間和使用率。- 確定最大的目錄或文件: 使用
du -h --max-depth=1 /path/to/directory
命令來逐級檢查某個目錄下各個子目錄的大小。從根目錄開始,逐級深入,以找到占用最多空間的目錄或文件。- 查找大文件: 運行
find / -type f -size +100M
命令來查找大于 100MB 的文件。這將掃描整個文件系統,你可以根據需要調整大小閾值。- 清理不必要的日志文件: 檢查
/var/log
目錄下的日志文件,特別是較舊的日志文件,可以考慮備份或刪除不再需要的日志文件。- 清理臨時文件: 檢查
/tmp
目錄下的臨時文件,可以使用find /tmp -type f -mtime +7 -exec rm {} \;
命令刪除一周前的臨時文件。- 查找被刪除但仍然打開的文件: 運行
lsof | grep deleted
命令來查找已被刪除但仍然被進程占用的文件。這些文件不會釋放磁盤空間,直到相關進程關閉。- 清理軟件包緩存: 運行
apt-get clean
(Ubuntu/Debian)或yum clean all
(CentOS/RHEL)命令來清理軟件包管理器的緩存。- 刪除不必要的大文件: 如果發現一些不再使用的大文件,可以備份它們并刪除以釋放磁盤空間。
- 檢查日志和應用程序錯誤: 檢查系統日志文件(如
/var/log/syslog
或/var/log/messages
)以及應用程序日志,看是否有異常導致磁盤空間快速耗盡。- 考慮擴展磁盤空間: 如果以上步驟無法解決問題,可能需要考慮擴展磁盤空間,以便為系統提供更多可用空間。
Linux 系統的運行內存占用較高
- 請注意,在進行任何操作之前,請確保備份重要數據,并謹慎評估對系統和應用程序的潛在影響。
- 當 Linux 系統的運行內存占用較高時,可以按照以下步驟進行排查:
- 查看系統內存使用情況: 運行
free -h
命令來查看系統的內存使用情況,包括已用、可用和緩存/緩沖區等信息。關注 “used”(已使用)和 “available”(可用)字段。- 檢查進程占用內存: 運行
top
或htop
命令以實時查看系統中最消耗內存的進程。按下 “Shift + M” 可以按內存使用量排序進程列表。注意檢查是否有異常的進程或占用大量內存的應用程序。- 查看內存泄漏: 運行
ps aux --sort=-%mem
命令按照內存使用率降序列出所有進程,并觀察是否有內存泄漏的跡象。如果某個進程的內存使用量持續增長而未釋放,則可能存在內存泄漏問題。- 檢查緩存和緩沖區使用: 查看
free
命令輸出中的 “cached”(緩存)和 “buffers”(緩沖區)字段。這些是操作系統使用的內存,用于提高文件系統性能。一般情況下,并不需要特別擔心這些值。- 檢查大量使用內存的服務: 使用
top
或htop
命令,觀察哪些服務或進程占用了大量內存。查找可能導致內存消耗過高的服務,例如數據庫服務器、Web 服務器等。- 檢查內存泄漏的應用程序: 如果可疑的應用程序存在內存泄漏問題,可以考慮重啟該應用程序來釋放內存,并檢查是否仍然會出現內存占用過高的情況。
- 調整內核參數: 在某些情況下,可能需要調整 Linux 內核參數以優化內存管理。這需要詳細了解系統和特定應用程序的需求,建議在對此不確定的情況下請教系統管理員或專業人士。
- 升級硬件或增加內存: 如果系統的內存使用一直較高且無法通過以上步驟解決,可能需要考慮升級硬件或增加更多內存來提供更大的容量。