Я системный администратор рабочей станции на базе Arch Linux. Наша рабочая станция использует Slurm в качестве диспетчера нагрузки и состоит из одной главной машины и 4 других вычислительных узлов. В последние несколько месяцев мы наблюдаем, что процессы на некоторых узлах время от времени зависают, и перезагрузка узла решает проблему. Мы обнаружили, что застрявшие процессы находятся в состоянии D (диск в спящем режиме), но когда мы использовали команду top или другие команды для проверки ввода-вывода узла, мы обнаружили, что ввод-вывод на самом деле довольно низкий.
Когда некоторые процессы на узле находятся в состоянии D, все на узле работает медленно, но это только для обычных пользователей. Когда мы используем суперпользователя для запуска команд (включая python) на зависших узлах, все работает просто отлично. Но когда мы меняем пользователя на су NORMAL_USER
, процесс снова завис. Мы использовали ps вспомогательный
и обнаружил, что процесс -баш
запускается NORMAL_USER, находится в состоянии D. Мы пытались использовать стрейс
чтобы отследить застрявший процесс, и мы также углубились в /прок/ПИД
, но ничего полезного мы не нашли. Нам также не удалось идентифицировать какие-либо полезные сообщения от журналctl
. Может быть, мы что-то упускаем.
Мы готовы принять любые советы или комментарии.
Наша версия ядра 5.10.47-1-lts.
Здесь /proc/PID/статус
для процесса в состоянии D. Процесс – это бить
процесс, когда мы используем су NORMAL_USER
. Это однопоточный процесс.
Название: Баш
Маска: 0022
Состояние: D (диск в спящем режиме)
Тег: 3136723
Нгид: 0
Код: 3136723
PPid: 3136722
TracerPid: 0
ИД: 1000093 1000093 1000093 1000093
Гид: 1000000 1000000 1000000 1000000
FDSize: 256
Группы: 1000000 1000083
NStgid: 3136723
NSpid: 3136723
NSpgid: 3136723
NSid: 3110369
Вмпик: 16904 КБ
ВмРазмер: 16904 КБ
VmLck: 0 КБ
ВмПин: 0 КБ
ВмХВМ: 3788 КБ
VmRSS: 3744 КБ
RSS-Анон: 412 КБ
Rss-файл: 3332 КБ
RssShmem: 0 кБ
ВмДата: 608 КБ
ВмСтк: 132 КБ
VmExe: 588 КБ
VmLib: 1948 КБ
ВмПТЕ: 52 КБ
Вмсвоп: 0 КБ
HugetlbСтраницы: 0 КБ
Сброс ядра: 0
THP_enabled: 1
Темы: 1
Подпись: 12/772094
SigPnd: 00000000000000000
ШдПнд: 0000000008000002
SigBlk: 00000000000000000
Вход: 0000000000384004
SigCgt: 000000004b813efb
CapInh: 0000000000000000
CapPrm: 00000000000000000
КапЭфф: 00000000000000000
CapBnd: 000001ffffffffff
CapAmb: 00000000000000000
Ноньюпривс: 0
Второй комп: 0
Вторичные_фильтры: 0
Speculation_Store_Bypass: уязвимость потока
Cpus_allowed: ffff,ffffffff
Cpus_allowed_list: 0-47
Mems_allowed: 00000003
Mems_allowed_list: 0-1
добровольный_ctxt_switches: 4
недобровольно_ctxt_switches: 1
Здесь /proc/PID/стек
для того же процесса.
[<0>] nfs_wait_bit_killable+0x1e/0x90 [nfs]
[<0>] nfs4_wait_clnt_recover+0x60/0x90 [nfsv4]
[<0>] nfs4_client_recover_expired_lease+0x17/0x50 [nfsv4]
[<0>] nfs4_do_open+0x2f4/0xbe0 [nfsv4]
[<0>] nfs4_atomic_open+0xe7/0x100 [nfsv4]
[<0>] nfs_atomic_open+0x1e1/0x520 [nfs]
[<0>] path_openat+0x5f5/0xfc0
[<0>] do_filp_open+0x91/0x130
[<0>] do_sys_openat2+0x96/0x150
[<0>] __x64_sys_openat+0x53/0x90
[<0>] do_syscall_64+0x33/0x40
[<0>] entry_SYSCALL_64_after_hwframe+0x44/0xa9