Linux伺服器磁碟佔滿

2021-08-07 22:44:03 字數 946 閱讀 4467

今天下班某電商技術部leader發現個問題,說他們伺服器硬碟滿了。把日誌檔案都刪掉了,可硬碟空間依舊滿。於是df -h檢視了下各個掛載點的狀況(如下圖)。

/dev/sda3占用了100%,那麼我們du -s -h ./*看下目錄的占用情況(如下圖)。

linux磁碟掛載點目錄占用情況(圖)

掛載點下的目錄之和遠小於4.5g,那麼是什麼占用了硬碟呢?

以下為該問題的解答:

在apache/tomcat服務在執行狀態下,清空了執行服務的日誌,從而導致了/dev/sda3 滿了的問題。一般情況下,大多數服務(包括指令碼)在執行時,是不能刪除當前正在寫入的日誌檔案的。

原理分析:

1. 當前access.log日誌正在被apache程序占用。

2. 通過rm命令刪除access.log,實際只刪除了檔名(該日誌檔案應用記數不為0,因此空間不會被釋放)。

3. 通過rm命令刪除了access.log後,apache依然寫日誌到access.log中,當開啟apache程序時,已經通過access.log定位到該檔案的inode了,就是說再寫日誌是不通過access.log,因此即使刪除了access.log,apache依然寫日誌到access.log所在的inode節點,所以導致硬碟空間增加。

4. 因為刪除了access.log,所以我們就找不到該檔案了,du也查不到,就會出現硬碟滿了但看不到究竟是哪些檔案占用的。

(寫的不甚詳細,不明白的大家再google下。)

解決方法:

重啟該日誌檔案的相關服務或程式,如:為apache日誌檔案則重啟apache(如下圖,重啟後才硬碟空間占用正常)。

Linux Linux伺服器磁碟佔滿問題解決

時間 2015 07 03 標籤 伺服器 leader linux 技術部欄目 linux 原文 今天下班某電商技術部leader發現個問題,說他們伺服器硬碟滿了。把日誌檔案都刪掉了,可硬碟空間依舊滿。於是df h檢視了下各個掛載點的狀況 如下圖 dev sda3占用了100 那麼我們du s h ...

linux伺服器磁碟掛載

linux磁碟掛載是比較常見的管理操作之一。我司橙雲預裝的linux系統有2塊盤,一塊為系統盤,另外一塊磁碟是資料盤,預設沒有掛載,需要手動掛載到系統中。具體操作是 需要對磁碟進行格式化,格式化後掛載到需要的掛載點,最後還需要新增分割槽啟動表,以便下次系統啟動隨機自動掛載。詳細操作步驟為 1 首先檢...

Linux 伺服器磁碟占用問題

今天伺服器上的 tp 專案出現如下報錯 file put contents only 0 of 1183 bytes written,possibly out of free disk space 一看就是磁碟被佔滿了,執行命令檢視 一般的思路就是找出大檔案刪除之,於是cd進入目錄執行如下命令 可是...