在linux中設備空間有兩個條件決定的:硬盤容量 和 inodehtml
硬盤容量node
即硬盤可用容量linux
inode
bash
即索引節點編號(記錄文件的大小,傭有者,權限,區塊地方等信息能夠經過 stat 命令查看),每一個分區中都會有固定大小的inode容量,每一個inode節點也會佔用硬盤空間,通常是128字節或256字節,inode節點的總數,在格式化時就給定,通常是每1KB或每2KB就設置一個inode,要查看各分區的inode狀況能夠經過 df -i 查看
ide
硬盤與inode其中一項超額就會形成 設備上沒有空間 異常錯誤,當出現這類錯誤基本上能夠從這兩個方面去考慮,通常使用命令 df:spa
df --help
用法:df [選項]... [文件]...
顯示每一個文件所在的文件系統的信息,默認是顯示全部文件系統。
長選項必須使用的參數對於短選項時也是必需使用的。
-a, --all include dummy file systems
-B, --block-size=SIZE use SIZE-byte blocks
--direct show statistics for a file instead of mount point
--total produce a grand total
-h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G)
-H, --si likewise, but use powers of 1000 not 1024
-i, --inodes 顯示inode 信息而非塊使用量
-k 即--block-size=1K
-l, --local 只顯示本機的文件系統
--no-sync 取得使用量數據前不進行同步動做(默認)
-P, --portability 使用POSIX 兼容的輸出格式
--sync 取得使用量數據前先進行同步動做
-t, --type=類型 只顯示指定文件系統爲指定類型的信息
-T, --print-type 顯示文件系統類型
-x, --exclude-type=類型 只顯示文件系統不是指定類型信息
-v (忽略)
--help 顯示此幫助信息並退出
--version 顯示版本信息並退出
所顯示的數值是來自 --block-size、DF_BLOCK_SIZE、BLOCK_SIZE
及 BLOCKSIZE 環境變量中第一個可用的 SIZE 單位。
不然,默認單位是 1024 字節(或是 512,若設定 POSIXLY_CORRECT 的話)。
SIZE 能夠是一個可選的整數,後面跟着如下單位中的一個:
KB 1000,K 1024,MB 1000*1000,M 1024*1024,還有 G、T、P、E、Z、Y。
請向bug-coreutils@gnu.org 報告df 的錯誤
GNU coreutils 項目主頁:<http://www.gnu.org/software/coreutils/>
GNU 軟件通常性幫助:<http://www.gnu.org/gethelp/>
請向<http://translationproject.org/team/zh_CN.html> 報告df 的翻譯錯誤
要獲取完整文檔,請運行:info coreutils 'df invocation'
翻譯
判斷硬盤滿:(發現有佔用率達100% 就能夠判定該分區滿了)日誌
df -h
判斷inode滿:(發現有佔用率達100%就能夠判定該分區碎片文件超多)orm
df -ia
硬盤滿了通常刪除不要的臨時文件,清空日誌文件等不須要的文件便可(最好同時看下inode使用狀況)。htm
inode滿了通常就是垃圾小文件越多形成的,linux下有不少服務會生成日誌文件,若是處理不當,幾年下來刪除都是個頭痛事(上萬文件後 rm 使用就困難,甚至rm沒法所有刪除)。常見 crontab 定時服務就會產生郵件日誌,通常不須要郵件的可在 crontab -e 中最上面添加一行 MAILTO="" 關閉郵件發送。
當不知道有哪些目錄中存在大量碎片文件時,可經過命令:(查找出超過10M的目錄,再行處理)
find / -type d -size +10M
或者使用命令:(找出目錄下文件總數,可能須要執行屢次,直到找出具體的目錄)
cd / find */ ! -type l | cut -d / -f 1 | uniq -c
當找到的目錄中存在上百萬文件時 rm 是沒法一次性刪除的,可使用rsync命令來刪除:
mkdir /tmp/del_path #建立臨時空目錄 rsync --delete -a -H -v /tmp/del_path/ /val/logs/ #刪除/val/logs/下全部文件