linux 磁盤空間滿了,排查記錄


先貼命令:du -m --max-depth=1或du -h --max-depth=1du:用於統計linux中文件或目錄所佔磁盤空間的大小du參數######-
m:以M爲單位展現查詢結果
-h:以K、M、G爲單位展現查詢結果,提升信息可讀性
--max-depth=1:其中,數字「1」是指查詢結果中最多顯示的目錄層數,這裏指最多顯示一層目錄linux

查看磁盤空間
#df -m
Filesystem                   1M-blocks  Used Available Use% Mounted on
/dev/xvda2     17647  17589     0  100% /
tmpfs                             1941     0      1941   0% /dev/shm
/dev/xvda1                         485    33       427   8% /boot

能夠發現/dev/xvda2 已滿,並且是 根目錄/下全部信息掛載在這裏。
因此要到 根目錄下去排查哪裏佔用空間

#cd / #du -h --max-depth=1 20M ./lib64 115M ./var 25M ./etc 23M ./boot 5.8M ./bin 16K ./lost+found 72K ./root 8.0K ./mnt 4.0K ./srv 0 ./sys du: cannot access `./proc/29049/task/29049/fd/4': No such file or directory du: cannot access `./proc/29049/task/29049/fdinfo/4': No such file or directory du: cannot access `./proc/29049/fd/4': No such file or directory du: cannot access `./proc/29049/fdinfo/4': No such file or directory 0 ./proc 132K ./dev 16 G ./home 0 ./selinux 11M ./sbin 4.0K ./media 56K ./opt 244K ./tmp 751M ./usr 146M ./lib
25.9G    . --總共佔用的空間

能夠看到/home下佔用了16G,這時候切換到home下查看
#cd /home
#du -h --max-depth=1
這樣一層一層能夠查到最終佔用空間的地方

查看文件大小
#ls -lhS
-rw-r--r--. 1 root root  96K Aug  1 14:41 catalina.out
-rw-r--r--. 1 root root  21K Jun 29 11:18 catalina.2018-06-29.log
-rw-r--r--. 1 root root 1.2K Aug  1 14:41 localhost_access_log.2018-08-01.txt

最後發現tomcat的日誌沾滿了

 

 

 

du命令詳解:

du [-abcDhHklmsSx] [-L <符號鏈接>][-X <文件>][--block-size][--exclude=<目錄或文件>] [--max-depth=<目錄層數>][--help][--version][目錄或文件] 經常使用參數: -a或-all 爲每一個指定文件顯示磁盤使用狀況,或者爲目錄中每一個文件顯示各自磁盤使用狀況。 -b或-bytes 顯示目錄或文件大小時,以byte爲單位。 -c或–total 除了顯示目錄或文件的大小外,同時也顯示全部目錄或文件的總和。 -D或–dereference-args 顯示指定符號鏈接的源文件大小。 -h或–human-readable 以K,M,G爲單位,提升信息的可讀性。 -H或–si 與-h參數相同,可是K,M,G是以1000爲換算單位,而不是以1024爲換算單位。 -k或–kilobytes 以1024 bytes爲單位。 -l或–count-links 重複計算硬件鏈接的文件。 -L<符號鏈接>或–dereference<符號鏈接> 顯示選項中所指定符號鏈接的源文件大小。 -m或–megabytes 以1MB爲單位。 -s或–summarize 僅顯示總計,即當前目錄的大小。 -S或–separate-dirs 顯示每一個目錄的大小時,並不含其子目錄的大小。 -x或–one-file-xystem 以一開始處理時的文件系統爲準,若趕上其它不一樣的文件系統目錄則略過。 -X<文件>或–exclude-from=<文件> 在<文件>指定目錄或文件。 –exclude=<目錄或文件> 略過指定的目錄或文件。 –max-depth=<目錄層數> 超過指定層數的目錄後,予以忽略。 –help 顯示幫助。 –version 顯示版本信息。 1. 要顯示一個目錄樹及其每一個子樹的磁盤使用狀況 du /home/linux 這在/home/linux目錄及其每一個子目錄中顯示了磁盤塊數。

2> 要經過以1024字節爲單位顯示一個目錄樹及其每一個子樹的磁盤使用狀況 du -k /home/linux 這在/home/linux目錄及其每一個子目錄中顯示了 1024 字節磁盤塊數。
3> 以MB爲單位顯示一個目錄樹及其每一個子樹的磁盤使用狀況 du -m /home/linux 這在/home/linux目錄及其每一個子目錄中顯示了 MB 磁盤塊數。
4> 以GB爲單位顯示一個目錄樹及其每一個子樹的磁盤使用狀況 du -g /home/linux 這在/home/linux目錄及其每一個子目錄中顯示了 GB 磁盤塊數。
5>查看當前目錄下全部目錄以及子目錄的大小: du -h . 「.」表明當前目錄下。也能夠換成一個明確的路徑 -h表示用K、M、G的人性化形式顯示
6>查看當前目錄下user目錄的大小,並不想看其餘目錄以及其子目錄: du -sh user -s表示總結的意思,即只列出一個總結的值 du -h --max-depth=0 user --max-depth=n表示只深刻到第n層目錄,此處設置爲0,即表示不深刻到子目錄。
7>列出user目錄及其子目錄下全部目錄和文件的大小: du -ah user -a表示包括目錄和文件
8>列出當前目錄中的目錄名不包括xyz字符串的目錄的大小: du -h --exclude='*xyz*'
9>想在一個屏幕下列出更多的關於user目錄及子目錄大小的信息: du -0h user -0(槓零)表示每列出一個目錄的信息,不換行,而是直接輸出下一個目錄的信息。
10>只顯示一個目錄樹的所有磁盤使用狀況 du -s /home/linux
相關文章
相關標籤/搜索