硬件環境
- 設備型號:機械革命 Yilong15Pro Series GM5HG0A
- 操作系統:Ubuntu 22.04.5 LTS (Jammy Jellyfish)
- 內核版本:6.8.0-65-generic
問題經過
初始癥狀
連接外置光驅后,系統出現異常:
- 風扇持續高速運轉,噪音明顯
- 系統響應變慢,出現卡頓
- 一段時間后系統提示磁盤空間不足
- 強制關機后重啟時卡在fsck完成界面
啟動故障表現
重啟后系統顯示fsck檢查過程:
/dev/nvme0n1p2: recovering journal
/dev/nvme0n1p2: Clearing orphaned inode 44557246 (uid=1000, gid=1000, mode=01006)
/dev/nvme0n1p2: Clearing orphaned inode 44557241 (uid=1000, gid=1000, mode=01006)
...
/dev/nvme0n1p2: clean, 22151651/62480384 files, 237447979/249919744 blocks
fsck成功完成,但系統卡在光標閃爍界面無法繼續啟動。
解決過程
第一步:切換到文本終端
在啟動卡住的界面按Ctrl+Alt+F2
,成功進入文本終端界面并登錄。
第二步:初步釋放空間
首先檢查和清理臨時文件:
$ rm -rf /tmp/*
$ rm -rf ~/.cache/*
這個操作刪除了大約22GB的臨時文件,磁盤使用率從100%降至98%,為后續操作提供了必要的操作空間。
第三步:重啟系統
經過清理后重啟系統:
$ sudo reboot
這次重啟后系統能夠正常進入桌面環境。
第四步:深入排查磁盤占用
系統正常啟動后,開始系統性地檢查磁盤使用情況:
$ df -h
文件系統 大小 已用 可用 已用% 掛載點
tmpfs 2.3G 4.0M 2.3G 1% /run
/dev/nvme0n1p2 938G 868G 22G 98% /
tmpfs 12G 76M 12G 1% /dev/shm
磁盤使用率為98%,仍然非常緊張。
檢查根目錄下各文件夾大小:
$ sudo du -sh /* 2>/dev/null | sort -hr | head -10
618G /var
204G /home
30G /opt
15G /usr
9.7G /snap
2.1G /swapfile
208M /boot
發現/var
目錄占用618GB,明顯異常。
進一步檢查/var
目錄:
$ sudo du -sh /var/* 2>/dev/null | sort -hr | head -10
611G /var/log
6.4G /var/lib
335M /var/cache
211M /var/crash
問題鎖定在/var/log
目錄,占用611GB。
第五步:發現和清理巨大日志文件
檢查具體的日志文件:
$ sudo du -sh /var/log/* 2>/dev/null | sort -hr | head -10
304G /var/log/syslog
304G /var/log/kern.log
4.1G /var/log/journal
29M /var/log/syslog.1
2.0M /var/log/kern.log.1
發現syslog
和kern.log
各占用304GB,找到了問題所在。
清空這兩個巨大的日志文件:
$ sudo truncate -s 0 /var/log/syslog
$ sudo truncate -s 0 /var/log/kern.log
驗證空間釋放效果:
$ df -h
文件系統 大小 已用 可用 已用% 掛載點
tmpfs 2.3G 4.0M 2.3G 1% /run
/dev/nvme0n1p2 938G 262G 629G 30% /
成功釋放約600GB空間,磁盤使用率從100%降至30%。
原因分析
AI分析結果:
這是Ubuntu 22.04在特定硬件配置下的PCIe兼容性問題。連接光驅觸發了PCIe子系統重新協商,導致PCIe AER(高級錯誤報告)功能開始以極高頻率記錄"已修正"錯誤到syslog和kern.log文件中。由于錯誤標記為"Corrected",系統表面正常運行,但日志文件持續增長最終耗盡磁盤空間。