linux系統偵錯變慢,系統使用率高

linux系統偵錯變慢,系統使用率高

我有一個遠端 Linux 系統,昨天變得超級慢。由於我設置的遠端 luks 解鎖似乎工作不可靠,並且在接下來的 10 天內我將無法實際訪問機器,因此我正在嘗試調試它而不是重新啟動。

我習慣的系統狀態工具是htopdstat並且由於我dstat在 ssh 會話中運行,我可以看到從昨天 2021-09-09 08:51:42 開始,一個 cpu 核心始終被“sys”完全使用 - 我猜測意味著內核?

我在 中看不到任何罪魁禍首的進程或線程htop

我已經停止了所有用戶服務並卸載了所有不必要的東西,這使得系統響應再次好一點,但仍然沒有達到應有的速度(使用帶有 SSD 的 Intel i7 CPU)。

我發現了https://tanelpoder.com/posts/high-system-load-low-cpu-utilization-on-linux/並安裝了引用的https://0x.tools/得到這個結果psn -G syscall,wchan

=== Active Threads ========================================================================================

 samples | avg_threads | comm              | state                  | syscall   | wchan                    
-----------------------------------------------------------------------------------------------------------
     100 |        1.00 | (btrfs-cleaner)   | Running (ON CPU)       | [running] | 0                        
     100 |        1.00 | (dpkg)            | Disk (Uninterruptible) | fsync     | btrfs_commit_transaction 
     100 |        1.00 | (systemd-journal) | Disk (Uninterruptible) | ftruncate | wait_current_trans       
       1 |        0.01 | (sshd)            | Running (ON CPU)       | [running] | 0                        
       1 |        0.01 | (thermald)        | Disk (Uninterruptible) | [running] | ec_guard                 
       1 |        0.01 | (thermald)        | Running (ON CPU)       | [running] | 0    

這個過程可以透過我嘗試以你通常期望的 1/1000 的速度運行來dpkg解釋(只是一種感覺,沒有測量)。apt upgrade

也許我的 btrfs 根檔案系統有問題...?我找不到btrfs-cleanerin htop,我想我要進一步研究那是什麼......

我昨晚確實運行了一次btrfs scrub,速度非常快,沒有發現任何問題:

# btrfs scrub status /
UUID:             2f38e0ad-7f16-4a36-8096-b7981d47b4ff
Scrub started:    Thu Sep  9 23:59:00 2021
Status:           finished
Duration:         0:00:24
Total to scrub:   53.09GiB
Rate:             1.78GiB/s
Error summary:    no errors found

但是當我使用 nano 修改根分割區上的設定檔時,載入和儲存速度非常慢。

我剛剛偶然發現了這一點:https://www.reddit.com/r/btrfs/comments/fmucrq/btrfs_snapshots_make_entire_system_lag_cpu_usage/其中有一則評論聽起來與我的問題類似:

每次啟動時和快照後,btrfs-transacti 和 btrfs-cleaner 都會完全耗盡核心,導致巨大的延遲

只是這表明它在啟動和創建快照時只持續幾分鐘,但btrbk幾天前當其中一個連接的磁碟開始出現問題時,我已經禁用了該系統上的備份設定。

我不確定我的 btrfs 根檔案系統是否正在使用qgroups,但我只是運行了btrfs quota disable /大約 10 秒,並且沒有給出任何回饋。

有人對我如何調試/解決這個問題有其他提示嗎?

答案1

問題出在那些btrfs配額。跑步

btrfs quota disable /

使系統再次可用:)

相關內容