最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux中磁盤空間排查實(shí)戰(zhàn)指南

 更新時(shí)間:2026年04月16日 08:51:14   作者:用戶545842986958  
生產(chǎn)環(huán)境磁盤使用率突破閾值,需要快速定位空間占用源并制定清理策略,本文為大家整理了Linux中磁盤空間排查方法,希望對(duì)大家有所幫助

問題場(chǎng)景

生產(chǎn)環(huán)境磁盤使用率突破閾值,需要快速定位空間占用源并制定清理策略。

診斷鏈路

1. 全局視圖:df定位分區(qū)

df -h  # 人類可讀格式
df -i  # 檢查inode耗盡情況

2. 目錄級(jí)排查:du統(tǒng)計(jì)占用

# 一級(jí)目錄占用排序
du -sh /* 2>/dev/null | sort -hr | head -10

# 深度遍歷(謹(jǐn)慎使用)
du -h --max-depth=2 /var | sort -hr | head -20

3. 文件級(jí)定位:find精準(zhǔn)打擊

# 查找大文件(>100MB)
find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null

# 查找最近7天修改的大文件
find /var/log -type f -mtime -7 -size +50M

常見陷阱

陷阱1:已刪除文件未釋放空間

lsof | grep deleted
# 需要重啟占用進(jìn)程或kill -HUP

陷阱2:隱藏的Docker占用

docker system df  # 查看Docker空間占用
docker system prune -a --volumes  # 清理懸空資源

陷阱3:inode耗盡但空間充足

df -i  # 檢查inode使用率
find / -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -n

預(yù)防措施

  • 配置logrotate自動(dòng)輪轉(zhuǎn)日志
  • 設(shè)置磁盤使用率告警(建議80%閾值)
  • 定期清理臨時(shí)文件和舊備份
  • 監(jiān)控Docker鏡像和容器數(shù)量

方法補(bǔ)充

磁盤空間耗盡(No space left on device)是Linux運(yùn)維中最常見的問題之一。下文將帶你走通從系統(tǒng)級(jí)檢查到目錄級(jí)定位的完整排查鏈路,覆蓋df、dulsof、find等核心工具的使用場(chǎng)景和技巧。

快速體檢:df - 查看整體磁盤使用情況

df(disk free)用于查看文件系統(tǒng)的總?cè)萘?、已用空間、可用空間和掛載點(diǎn)。它是排查的第一步,能快速鎖定哪個(gè)分區(qū)已經(jīng)飽和。

基礎(chǔ)用法

df -h   # 以人類可讀的格式顯示(GB/MB)

輸出示例:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        98G   78G   15G  84% /
/dev/sda2       500G  498G  2.0G 100% /home

  • Use% 100%:該分區(qū)已滿,需要進(jìn)一步排查。
  • Avail 0:可用空間為零,系統(tǒng)可能無法寫入日志或創(chuàng)建臨時(shí)文件。

常用選項(xiàng)

命令說明
df -h人類可讀大?。ㄗ詣?dòng)K/M/G)
df -i查看inode使用情況(小文件過多也會(huì)導(dǎo)致“空間不足”)
df -T顯示文件系統(tǒng)類型(如xfs、ext4)
df --total匯總所有文件系統(tǒng)的總計(jì)

特殊情況:df 顯示已滿,但 du 統(tǒng)計(jì)很小

原因可能是:

  • 文件已被刪除,但仍有進(jìn)程打開該文件(句柄未釋放)。
  • 掛載點(diǎn)下有“隱藏”的舊文件(如子目錄被另一設(shè)備掛載覆蓋)。

精確定位:du - 分析目錄和文件大小

du(disk usage)用于統(tǒng)計(jì)目錄或文件的真實(shí)磁盤占用。當(dāng)df發(fā)現(xiàn)分區(qū)滿后,用du逐級(jí)深入,找出大文件或大目錄。

常用命令組合

# 查看當(dāng)前目錄下所有子目錄的大小,按人類可讀排序
du -sh * | sort -hr

# 查看整個(gè)分區(qū)下最大的10個(gè)目錄(深度1)
sudo du -h /home --max-depth=1 | sort -hr | head -10

# 更全面的掃描:跳過某些目錄,排除proc、sys等偽文件系統(tǒng)
sudo du -h --exclude=/proc --exclude=/sys --max-depth=1 / | sort -hr

參數(shù)詳解

參數(shù)含義
-s匯總(只顯示總計(jì))
-h人類可讀格式
-d N 或 --max-depth=N只顯示N層子目錄
--exclude=PATTERN排除匹配的目錄/文件
-a同時(shí)顯示文件(默認(rèn)只顯示目錄)
-c最后顯示總和

常用定位大文件的快速命令

# 查找超過1GB的文件
find /home -type f -size +1G -exec ls -lh {} \; 2>/dev/null

# 查找超過500MB且最近7天修改過的文件
find /var/log -type f -size +500M -mtime -7 -exec ls -lh {} \;

進(jìn)階診斷:inode 耗盡與文件句柄泄漏

有時(shí)候 df -h 顯示空間有余,但系統(tǒng)仍報(bào)“No space left on device”。這通常是 inode耗盡 或 文件句柄未釋放 導(dǎo)致的。

檢查inode使用率

df -i

輸出示例:

Filesystem      Inodes IUsed IFree IUse% Mounted on
/dev/sda1      5.2M   5.2M    0   100% /home

IUse% 100%:inode已滿,通常因?yàn)榇嬖诖罅啃∥募ㄈ缇彺?、郵件隊(duì)列)。

解決方案:

# 找到包含大量小文件的目錄
sudo find /home -type f -printf "%h\n" | sort | uniq -c | sort -rn | head -10
# 進(jìn)入該目錄,清理舊文件(例如超過30天的日志)
find /home/cache -type f -mtime +30 -delete

文件被刪除但未釋放句柄(lsof)

當(dāng)進(jìn)程正在使用某個(gè)文件時(shí),即使你執(zhí)行了rm,磁盤空間也不會(huì)立即釋放,直到進(jìn)程關(guān)閉該文件或重啟。

診斷方法:

# 查看所有已刪除但仍被進(jìn)程占用的文件
lsof | grep deleted
# 更精確:只看某個(gè)分區(qū)下的已刪除文件
lsof /home | grep deleted

輸出示例:

java    12345  root  14w   REG  8,1  10485760  123456 /home/log/app.log (deleted)

解決:重啟對(duì)應(yīng)進(jìn)程(systemctl restart java-app)或重定向其輸出(> /proc/12345/fd/14,但通常重啟更可靠)。

常見場(chǎng)景與解決策略

/var/log 日志文件過大

# 查看日志目錄占用
sudo du -sh /var/log/* | sort -hr

# 清理3個(gè)月前的系統(tǒng)日志(以journalctl為例)
sudo journalctl --vacuum-time=3d

# 安全截?cái)嗳罩疚募ūA糇钚?000行)
sudo tail -n 1000 /var/log/syslog > /tmp/syslog.tmp && sudo mv /tmp/syslog.tmp /var/log/syslog

Docker/容器存儲(chǔ)膨脹

# 查看Docker占用空間
docker system df

# 清理未使用的鏡像、容器、卷和構(gòu)建緩存
docker system prune -a -f

# 進(jìn)一步清理所有停止的容器和未使用的卷
docker volume prune -f

/tmp 目錄臨時(shí)文件堆積

# 清理超過24小時(shí)未訪問的臨時(shí)文件
sudo find /tmp -type f -atime +1 -delete
sudo find /var/tmp -type f -atime +1 -delete

數(shù)據(jù)庫文件(如MySQL、PostgreSQL)過大

  • 檢查數(shù)據(jù)庫的數(shù)據(jù)目錄(通常在/var/lib/mysql/var/lib/pgsql)。
  • 使用數(shù)據(jù)庫自身的清理命令:OPTIMIZE TABLE、VACUUM FULL。
  • 考慮歸檔舊數(shù)據(jù)或遷移到更大的存儲(chǔ)卷。

自動(dòng)化監(jiān)控與預(yù)警

為了避免手工排查,可以設(shè)置定期監(jiān)控和告警。

使用cron + df 定時(shí)檢查并發(fā)送郵件

# 編輯root的crontab
sudo crontab -e

# 添加如下行(每小時(shí)檢查一次,使用率超過90%發(fā)郵件)
0 * * * * /usr/bin/df -h | awk 'NR>1 && $5+0 > 90 {print $0}' | mail -s "Disk Alert" admin@example.com

集成到 Prometheus + Grafana

安裝 node_exporter 采集磁盤指標(biāo),配置告警規(guī)則:disk_used_percent > 90%

使用 ncdu 交互式分析(推薦)

# 安裝
sudo apt install ncdu   # Debian/Ubuntu
sudo yum install ncdu   # RHEL/CentOS

# 使用
ncdu /home

上下鍵導(dǎo)航,d 刪除文件,q 退出,界面友好,適合交互式清理。

到此這篇關(guān)于Linux中磁盤空間排查實(shí)戰(zhàn)指南的文章就介紹到這了,更多相關(guān)Linux磁盤空間排查內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Centos7遠(yuǎn)程桌面 vnc/vnc-server的設(shè)置詳解

    Centos7遠(yuǎn)程桌面 vnc/vnc-server的設(shè)置詳解

    這篇文章主要介紹了Centos7遠(yuǎn)程桌面 vnc/vnc-server的設(shè)置詳解的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • LuManager圖文安裝使用教程和創(chuàng)建MysqL快速建站基本教程

    LuManager圖文安裝使用教程和創(chuàng)建MysqL快速建站基本教程

    這篇文章主要介紹了LuManager圖文安裝使用教程和創(chuàng)建MysqL快速建站基本教程,需要的朋友可以參考下
    2016-04-04
  • Linux利用inotify和rsync服務(wù)實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)同步的原理解析

    Linux利用inotify和rsync服務(wù)實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)同步的原理解析

    inotify是系統(tǒng)內(nèi)核的一個(gè)監(jiān)控服務(wù),屬于操作系統(tǒng)內(nèi)核的一個(gè)特有機(jī)制,用于監(jiān)控文件的信息變化,這篇文章主要介紹了Linux利用inotify和rsync服務(wù)實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)同步,需要的朋友可以參考下
    2022-10-10
  • Linux下性能分析工具Perf安裝與用法

    Linux下性能分析工具Perf安裝與用法

    perf是Linux下的一款性能分析工具,能夠進(jìn)行函數(shù)級(jí)與指令級(jí)的熱點(diǎn)查找,它由一個(gè)叫“Performance?counters“的內(nèi)核子系統(tǒng)實(shí)現(xiàn),可用于性能瓶頸的查找與熱點(diǎn)代碼的定位,本文給大家介紹了Linux?Perf安裝與使用,需要的朋友可以參考下
    2024-05-05
  • linux如何編譯安裝新內(nèi)核支持NTFS文件系統(tǒng)(以redhat7.2x64為例)

    linux如何編譯安裝新內(nèi)核支持NTFS文件系統(tǒng)(以redhat7.2x64為例)

    這篇文章主要介紹了linux如何編譯安裝新內(nèi)核支持NTFS文件系統(tǒng)(以redhat7.2x64為例),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2016-10-10
  • Centos搭建GTK+Codeblock完整版

    Centos搭建GTK+Codeblock完整版

    剛搭建完成一個(gè)程序用的軟件。把自己在搭建時(shí)步驟寫下來,省的在搭建的時(shí)候走彎路,找資料。
    2010-02-02
  • 在Unix/Linux上使用通用二進(jìn)制文件安裝MySQL方式

    在Unix/Linux上使用通用二進(jìn)制文件安裝MySQL方式

    本文介紹了如何在Unix/Linux平臺(tái)上從壓縮的tar文件二進(jìn)制發(fā)行版安裝MySQL,首先,需要下載并解壓縮發(fā)行版,然后創(chuàng)建一個(gè)符號(hào)鏈接并將其添加到PATH變量中,接下來,設(shè)置發(fā)行版的所有權(quán)和訪問權(quán)限,初始化數(shù)據(jù)目錄,啟動(dòng)MySQL服務(wù)器,并設(shè)置配置文件
    2025-02-02
  • Linux中設(shè)置SSH免密碼(密鑰)登錄的具體步驟

    Linux中設(shè)置SSH免密碼(密鑰)登錄的具體步驟

    SSH是一種加密的網(wǎng)絡(luò)協(xié)議,廣泛用于遠(yuǎn)程管理服務(wù)器和安全傳輸文件,通常在使用SSH時(shí)需要輸入密碼進(jìn)行驗(yàn)證,但通過配置免密登錄,我們可以省去每次輸入密碼的麻煩,所以本文給大家介紹了Linux中設(shè)置SSH免密碼(密鑰)登錄的具體步驟,需要的朋友可以參考下
    2025-07-07
  • Ubuntu配置固定IP的流程步驟

    Ubuntu配置固定IP的流程步驟

    在裝服務(wù)器系統(tǒng)的時(shí)候,DHCP自動(dòng)獲取ip時(shí),路由可能會(huì)重新分配ip,為避免產(chǎn)生影響,可以關(guān)閉DHCP將主機(jī)設(shè)置為靜態(tài)ip,本文給大家介紹了Ubuntu配置固定IP的流程步驟,需要的朋友可以參考下
    2025-08-08
  • linux搭建NFS文件共享服務(wù)器的步驟詳解

    linux搭建NFS文件共享服務(wù)器的步驟詳解

    這篇文章主要介紹了linux搭建NFS文件共享服務(wù)器的方法,本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05

最新評(píng)論

泾阳县| 隆安县| 宣恩县| 益阳市| 清徐县| 四会市| 衢州市| 陆河县| 江口县| 宁城县| 新绛县| 大港区| 廉江市| 涟源市| 英德市| 七台河市| 观塘区| 昌吉市| 临夏市| 大姚县| 宁陕县| 洛阳市| 萍乡市| 承德县| 西畴县| 郧西县| 四子王旗| 兴海县| 景宁| 平武县| 南康市| 邯郸市| 新源县| 四会市| 高密市| 会理县| 清远市| 攀枝花市| 东光县| 临泉县| 宜君县|