• <dd id="hdgin"><track id="hdgin"></track></dd>
  • <em id="hdgin"><tr id="hdgin"></tr></em>
  • <th id="hdgin"><track id="hdgin"><noframes id="hdgin"></noframes></track></th>
        <rp id="hdgin"><ruby id="hdgin"></ruby></rp>

        <legend id="hdgin"><noscript id="hdgin"><video id="hdgin"></video></noscript></legend>
          <dd id="hdgin"><track id="hdgin"></track></dd>
            首頁 運維干貨Linux 磁盤空間被吃掉了?這樣排查不背鍋!

            Linux 磁盤空間被吃掉了?這樣排查不背鍋!

            運維派隸屬馬哥教育旗下專業運維社區,是國內成立最早的IT運維技術社區,歡迎關注公眾號:yunweipai
            領取學習更多免費Linux云計算、Python、Docker、K8s教程關注公眾號:馬哥linux運維

            Linux 磁盤空間被吃掉了?這樣排查不背鍋!插圖

            在服務器運維過程中,我們時常會遇到這樣的情況,收到服務器磁盤空間告警

            Linux 磁盤空間被吃掉了?這樣排查不背鍋!插圖1

            登錄服務器,通過df -Hl查看

            Linux 磁盤空間被吃掉了?這樣排查不背鍋!插圖2

            和告警信息一致,接著我們就是要找到導致磁盤空間滿的目錄或文件

            如何找到占用空間大的目錄或文件?

            一種比較笨的方法是,在根目錄下,通過du -hs命令,列出各目錄所占空間大小

            Linux 磁盤空間被吃掉了?這樣排查不背鍋!插圖3

            之后再用同樣的方法繼續到對應目錄下去找

            再相對高效一點的方法是通過du的-d參數,或–max-depth,設置查詢的目錄深度,目錄深度增加,所查詢的目錄,展示出來會很多,這個時候可以通過grep進行過濾

            du -h -d 2|grep [GT] |sort -nr  
            du -h --max-depth=2|grep [GT] |sort -nr  
            

            通過這樣的方式,可以搜出以G或者T為單位的占用磁盤空間的大目錄,并排序

            或者可以通過find來查詢

            find / -type f -size +1G -exec du -h {} \;  
            

            從效率上來說,find要比du要更快速、靈活

            通過這兩種方法,我們可以快速找到占用磁盤空間的罪魁禍首

            你以為就這么簡單?很多時候,你會發現,通過find或du查半天,發現所有加起來的占用空間,和df看到的磁盤空間占用,相差很大,就比如我上面的兩張圖

            通過df查看,磁盤使用37G,但是在根目錄下通過du -hs 查看,總共加起來差不多10G,沒有隱藏目錄,那空間被誰吃了?

            很明顯,有空間被已刪除文件占用,文件刪除了,但是資源沒釋放

            之前介紹過一個很好用的命令:lsof,我們可以通過以下命令去查看

            lsof +L1  
            

            Linux 磁盤空間被吃掉了?這樣排查不背鍋!插圖4

            從結果可以看出,有一個28G左右的大日志文件,刪除了,但是空間沒釋放,這是很常見的一種情況

            對應的解決方法就是,重啟tomcat應用,釋放空間

            磁盤空間莫名被吃?

            還有一種經常有人問的問題,就是,通過df查看到的磁盤

            Linux 磁盤空間被吃掉了?這樣排查不背鍋!插圖5

            會發現,Used和Avail加起來不夠Size,莫名被吃掉一部分

            其實這是Linux文件系統的一種安全策略,它默認會為root用戶保留5%的磁盤空間,留作緊急情況使用。這樣能保證有些關鍵應用(比如數據庫)在硬盤滿的時候有點余地,不致于馬上就 crash

            我們可以通過tune2fs修改預留空間的比例

            tune2fs -m 1 /dev/vda1  
            

            通過下圖可以看到前后對比

            Linux 磁盤空間被吃掉了?這樣排查不背鍋!插圖6

            這樣被吃掉的空間,就吐出來了

            本文鏈接:http://m.abandonstatusquo.com/40854.html

            網友評論comments

            發表評論

            您的電子郵箱地址不會被公開。

            暫無評論

            Copyright ? 2012-2022 YUNWEIPAI.COM - 運維派 京ICP備16064699號-6
            掃二維碼
            掃二維碼
            返回頂部
            久久久久亚洲国内精品|亚洲一区二区在线观看综合无码|欧洲一区无码精品色|97伊人久久超碰|一级a爱片国产亚洲精品