어제 매우 느려진 원격 Linux 시스템이 있습니다. 내가 설정한 원격 luks 잠금 해제가 안정적으로 작동하지 않는 것 같고 앞으로 10일 이내에 컴퓨터에 물리적으로 액세스할 수 없기 때문에 재부팅하는 대신 이것을 디버깅하려고 합니다.
제가 익숙한 시스템 상태 도구는 SSH 세션에서 실행 htop
했기 dstat
때문에 dstat
어제 2021-09-09 08:51:42부터 하나의 CPU 코어가 항상 "sys"에 의해 완전히 사용되는 것을 볼 수 있습니다. 커널을 의미하는 것 같은데요?
.NET에서 범인 프로세스나 스레드를 볼 수 없습니다 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-cleaner
을(를) 찾을 수 없습니다 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 /
시스템을 다시 사용할 수 있게 되었습니다 :)