systemctl --user를 실행하는 데 수십 초가 걸립니다.

systemctl --user를 실행하는 데 수십 초가 걸립니다.

내 서버 중 하나에 간헐적인 문제가 있으며 로그인하는 데 약 15초가 걸립니다. 이는 루트가 아닌 내 사용자로 SSH를 통해 수행됩니다.

또 한 번 로그인하면 'sudo su'에 수십초 정도 걸릴 때도 있다.

마지막으로 루트가 아닌 내 사용자로 "systemctl --user"를 실행하여 요청 시 문제를 재현할 수 있다는 사실을 방금 확인했습니다.

이런 일이 발생하면 systemd 프로세스의 CPU 사용량이 100%로 치솟는 것을 볼 수 있습니다.

# in htop
    PID USER       PRI  NI  VIRT   RES   SHR S  CPU%▽MEM%   TIME+  Command
 206136 todd        20   0 53680 46120  8656 R  99.0  1.2  6h10:06 /usr/lib/systemd/systemd --user

에서 전체 프로세스를 볼 수 있지만 strace실제로 눈에 띄는 것은 없거나 전화 끊기/이력서와 관련된 것 같지 않습니다. 나는 이것을 많이 봅니다. 그래서 일부 데이터 구조를 재할당/재배열하는 것일 수도 있습니다.

brk(0x5607dc128000)                     = 0x5607dc128000
brk(0x5607dc149000)                     = 0x5607dc149000

또한 완료되지 않고 시간이 초과되는 경우도 있습니다.

0 %  [via 192.168.99.8] systemctl --user
Failed to list units: Connection timed out

문제를 디버그/식별하려면 어떻게 해야 합니까?

1 %  [via 192.168.99.8] uname -a
Linux bifrost 5.19.10-arch1-1 #1 SMP PREEMPT_DYNAMIC Tue, 20 Sep 2022 15:17:59 +0000 x86_64 GNU/Linux

0 %  [via 192.168.99.8] pacman -Q systemd
systemd 251.4-1

또 다른 세부 사항 - 나는 이 문제를 몇 달 동안 계속해서 보아왔습니다. 컴퓨터를 재부팅해도 며칠 내에 문제가 다시 발생하지 않을 것이라는 것을 알고 있습니다.

편집: strace -r상대 타임스탬프를 표시하면 범인을 찾은 것 같습니다.

     0.000128 getrandom("\xeb\x49\xb5\x3d\x37\x5a\xc4\xd6\x59\x2e\x5c\x5c\x8a\x5a\x35\xfd", 16, GRND_INSECURE) = 16
     0.000141 getrandom("\x04\xa7\xa1\xa9\xe4\xbb\x5c\x2c\xa3\x42\x0c\xf8\x36\xd7\x43\x7d", 16, GRND_INSECURE) = 16
    16.183344 newfstatat(AT_FDCWD, "/dev/disk/by-diskseq/19565", {st_mode=S_IFBLK|0660, st_rdev=makedev(0x8, 0x10), ...}, 0) = 0
     0.000389 newfstatat(AT_FDCWD, "/dev/disk/by-id/usb-Generic-_SD_MMC_MS_PRO_20120926571200000-0:0", {st_mode=S_IFBLK|0660, st_rdev=makedev(0x8, 0x10), ...}, 0) = 0

fstatat("/dev/disk/by-diskseq/19565")그런데 왜 이렇게 오래 걸리는지 모르겠습니다 .

시스템에 디스크가 하나만 있습니다. 에 따르면 smartctl -a /dev/sda오류가 없으며,

  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       47363
SMART Error Log Version: 0
No Errors Logged

이는 약 5.5년의 가동 시간에 해당합니다.

편집 2:

누군가 /dev/disk/by-diskseq 심볼릭 링크에 대해 질문했습니다. 나는 그들이 /dev/sda를 가리킬 것이라고 가정했지만, 그렇지 않습니다.

0 % ls -alhi /dev/disk/by-diskseq/
159385 lrwxrwxrwx 1 root root   9 Oct  6 11:45 39685 -> ../../sdb

심볼릭 링크 이름(39685)은 1분마다 1씩 증가하는 것 같습니다. 아무래도 sdb제가 모르는 뭔가가 있는 것 같습니다 .

0 % lsblk -ap
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
/dev/sda      8:0    0 111.8G  0 disk
├─/dev/sda1   8:1    0   487M  0 part /boot
└─/dev/sda2   8:2    0 111.3G  0 part /
/dev/sdb      8:16   1     0B  0 disk

0 % fdisk -l /dev/sdb
fdisk: cannot open /dev/sdb: No medium found

아, USB 장치인 것 같은데요? 그러나 USB 슬롯에는 아무것도 연결되어 있지 않습니다.

% udevadm info /dev/sdb
P: /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.1/1-5.1:1.0/host2/target2:0:0/2:0:0:0/block/sdb
M: sdb
U: block
T: disk
D: b 8:16
N: sdb
L: 0
S: disk/by-diskseq/39699
S: disk/by-path/pci-0000:00:14.0-usb-0:5.1:1.0-scsi-0:0:0:0
S: disk/by-id/usb-Generic-_SD_MMC_MS_PRO_20120926571200000-0:0
Q: 39699
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.1/1-5.1:1.0/host2/target2:0:0/2:0:0:0/block/sdb
E: DEVNAME=/dev/sdb
E: DEVTYPE=disk
E: DISKSEQ=39699
E: MAJOR=8
E: MINOR=16
E: SUBSYSTEM=block
E: USEC_INITIALIZED=4178478
E: ID_VENDOR=Generic-
E: ID_VENDOR_ENC=Generic-
E: ID_VENDOR_ID=0bda
E: ID_MODEL=SD_MMC_MS_PRO
E: ID_MODEL_ENC=SD\x2fMMC\x2fMS\x20PRO\x20\x20\x20
E: ID_MODEL_ID=0153
E: ID_REVISION=1.00
E: ID_SERIAL=Generic-_SD_MMC_MS_PRO_20120926571200000-0:0
E: ID_SERIAL_SHORT=20120926571200000
E: ID_TYPE=disk
E: ID_INSTANCE=0:0
E: ID_BUS=usb
E: ID_USB_INTERFACES=:080650:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=ums-realtek
E: ID_PATH=pci-0000:00:14.0-usb-0:5.1:1.0-scsi-0:0:0:0
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_5_1_1_0-scsi-0_0_0_0
E: DEVLINKS=/dev/disk/by-diskseq/39699 /dev/disk/by-path/pci-0000:00:14.0-usb-0:5.1:1.0-scsi-0:0:0:0 /dev/disk/by-id/usb-Generic-_SD_MMC_MS_PRO_20120926571200000-0:0
E: TAGS=:systemd:
E: CURRENT_TAGS=:systemd:

편집 3

sdb파일이 열리거나 연결되지 않습니다 diskbyseq.

% lsof | grep sdb
# nothing
% lsof | grep diskseq
# nothing

시스템이 13일 동안 실행되었습니다.

% uptime
 09:55:33 up 13 days, 22:36,  1 user,  load average: 2.13, 2.08, 2.03

관련 정보