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-cleanerhtop我想我要进一步研究一下那是什么。

我昨晚确实运行了一次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 /

使系统再次可用:)

相关内容