CentOs8 SSH接続が遅い要因 systemd 割り込みできないスリープ状態 D Stateで load averageが増加

CentOs8 systemd 割り込みできないスリープ状態 D Stateで load averageが増加する事象に関する情報です。

 

最近、CentOs8 VM への ssh 接続が非常に遅くなりました。これを示すトップコマンドを確認しました。

 

  load average: 30.09, 30.13, 30.09
    Tasks: 403 total,   1 running, 364 sleeping,   0 stopped,  38 zombie
    %Cpu(s):  2.4 us,  1.1 sy,  0.0 ni, 94.9 id,  0.0 wa,  1.4 hi,  0.2 si,  0.0 st
    MiB Mem :  15853.6 total,   5322.0 free,   8791.9 used,   1739.7 buff/cache
    MiB Swap:      0.0 total,      0.0 free,      0.0 used.   6052.8 avail Mem

     PID  USER     PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
       1 root      20   0  245460   8192   4132 D   0.0   0.1 662:05.04 systemd
      43 root      39  19       0      0      0 D   0.0   0.0  15:06.70 khugepaged
      56 root      20   0       0      0      0 D   0.0   0.0  68:38.87 kswapd0
   34809 root      20   0       0      0      0 D   0.0   0.0   0:00.09 sh
   41031 101       20   0   34248  25884      4 D   0.0   0.2   0:00.62 nginx
   41309 root      20   0   93260   6740   5904 D   0.0   0.0   0:00.03 systemd-user-ru
   44308 root      20   0   57184   3760   3340 D   0.0   0.0   0:00.01 ps    
    ...etc

 

ps、pgrep などの他のコマンドは、使用するとすぐに「D」状態になります。したがって、「ps aux」と入力すると、端末が応答しなくなり、他の端末からログオンし直すと、新しい「ps」コマンドが「D」プロセスに追加されていることがわかります。

 

 

一般に、可能な唯一の回復方法は再起動です。できれば SysRq を使用して、ファイル システムをフラッシュし、スタックしていないファイル システムをアンマウントする機会を得ることができます。システムが最後のプロセスが完了するのを待っている間にハングする可能性があるため、行わないでください (これは決して完了しません) 。sudo reboot

 

ただし、この状態から徐々に回復できる場合もあります。あなたの場合は、systemd 自体から始めます。回復できない場合は、再起動が唯一の選択肢です。それで試してみてください:

 

$ sudo systemctl daemon-reexec
これにより、systemd の新しいコピーがフォークされ、現在の状態が渡され、systemd の現在のコピーが終了します。これですべての問題が解決されると思います。このコマンドは、中断不能になるかps、既存の systemd インスタンスへの接続に失敗するだけで失敗する可能性があります。

 

systemd が戻ったら、他のデーモンでも同様のトリックを試すことができます。つまり、デーモンを再起動してみてください。いくつかは「中断不可能」状態でも強制終了できるかもしれません。試してみてくださいkill -9。

 

スタックトレースでは、特にファイルシステムNFS について言及しています。NFS はこの種の問題でよく知られているため、ルート パーティションなどの重要なものには NFS を使用しないことを検討してください。

 

「参考」

centos - Recover systemd from uninterruptible state - Unix & Linux Stack Exchange

 

【2023改良型】 イヤホン 有線イヤホン 3.5mmジャック ノイズキャンセリング マイク付き 通話可能 ハイレゾ クリア通話 音量調節 ステレオイヤフォン ヘッドホン 全ての3.5mmインターフェース機器に対応できます