Ubuntuで端末に入力すると、入力した文字が表示されるまで数秒かかります。

Ubuntuで端末に入力すると、入力した文字が表示されるまで数秒かかります。

質問:Ubuntuで端末に入力すると、入力した文字が表示されるまで数秒かかります。

私は大量のデータを/etc/fstab自動マウントされた他のLUKS暗号化ドライブに移動した後に初めてこれを発見しました。端末に入力すると(私はデフォルトのbashを使用しています)、応答速度は非常に遅くなります。最初は余分なハードに問題があると思いました。他のオペレーティングシステムには問題がないため、ハードウェアの問題ではないようです(Samsung 990 Proのデュアルブート)。

詳細:

  • Ubuntu 22.04.4 LTSの新規インストール、Samsung 870 QVO 4TB Sata 6Gb / sでLUKSを使用したフルディスク暗号化
  • Samsung 990 Pro 4TB M.2 vMVE(暗号化されていない2TBパーティション)でも再現可能
  • 4x8GB RAM @2133MT/s、最小15GBの空き容量。
  • CPU: i7-6700K、8コアすべて< 10%使用量

私は努力しました:

  • fs.inotify.max_user_watchesデフォルトの65536と高い値の1048576の間の値に設定します。
  • 複数の再起動
  • バッシュレコードを消去
  • すべてのデバイスを削除
  • FSの速度を低下させる可能性のあるすべてのプログラム(PhpStorm、GitKrakenなど)を閉じます。

私が確認した内容は次のとおりです。

  • /var/log/dmesg
  • /var/log/syslog
  • /var/log/kern.log

遅い処理をデバッグする方法を見つけて使用しましたstrace -T -f -s9999 -p6673。上矢印を2回押したときの出力は次のとおりです。

pselect6(1, [0], NULL, NULL, NULL, {sigmask=[], sigsetsize=8}) = 1 (in [0]) <1.867761>
read(0, "\33", 1)                       = 1 <0.000091>
pselect6(1, [0], NULL, NULL, NULL, {sigmask=[], sigsetsize=8}) = 1 (in [0]) <0.000008>
read(0, "[", 1)                         = 1 <0.000007>
pselect6(1, [0], NULL, NULL, NULL, {sigmask=[], sigsetsize=8}) = 1 (in [0]) <0.000007>
read(0, "A", 1)                         = 1 <0.000007>
write(2, "echo $$", 7)                  = 7 <0.000009>
pselect6(1, [0], NULL, NULL, NULL, {sigmask=[], sigsetsize=8}) = 1 (in [0]) <0.660089>
read(0, "\33", 1)                       = 1 <0.000024>
pselect6(1, [0], NULL, NULL, NULL, {sigmask=[], sigsetsize=8}) = 1 (in [0]) <0.000062>
read(0, "[", 1)                         = 1 <0.000040>
pselect6(1, [0], NULL, NULL, NULL, {sigmask=[], sigsetsize=8}) = 1 (in [0]) <0.000007>
read(0, "A", 1)                         = 1 <0.000007>
write(2, "\10\10\10\10\10\10\10cat /proc/sys/fs/inotify/max_user_watches", 48) = 48 <0.000008>

私を混乱させるのは最初のpselect6呼び出し、実行時間が1秒を超えています。。これは間違いなく犯人ですが、ここで問題をデバッグする方法がわかりません。

空白のみを入力する別のstraceは次のとおりです。

strace: Process 6673 attached
pselect6(1, [0], NULL, NULL, NULL, {sigmask=[], sigsetsize=8}) = 1 (in [0]) <2.216155>
read(0, " ", 1)                         = 1 <0.000015>
pselect6(1, [0], NULL, [0], {tv_sec=0, tv_nsec=0}, NULL) = 0 (Timeout) <0.000075>
write(2, " ", 1)                        = 1 <0.000042>
pselect6(1, [0], NULL, NULL, NULL, {sigmask=[], sigsetsize=8}) = 1 (in [0]) <0.923598>
read(0, " ", 1)                         = 1 <0.000017>
pselect6(1, [0], NULL, [0], {tv_sec=0, tv_nsec=0}, NULL) = 0 (Timeout) <0.000011>
write(2, " ", 1)                        = 1 <0.000012>
pselect6(1, [0], NULL, NULL, NULL, {sigmask=[], sigsetsize=8}) = 1 (in [0]) <1.504578>
read(0, " ", 1)                         = 1 <0.000016>
pselect6(1, [0], NULL, [0], {tv_sec=0, tv_nsec=0}, NULL) = 0 (Timeout) <0.000012>
write(2, " ", 1)                        = 1 <0.000008>
pselect6(1, [0], NULL, NULL, NULL, {sigmask=[], sigsetsize=8}) = 1 (in [0]) <1.783754>
read(0, " ", 1)                         = 1 <0.000016>
pselect6(1, [0], NULL, [0], {tv_sec=0, tv_nsec=0}, NULL) = 0 (Timeout) <0.000013>
write(2, " ", 1)                        = 1 <0.000009>
pselect6(1, [0], NULL, NULL, NULL, {sigmask=[], sigsetsize=8}) = 1 (in [0]) <1.664852>
read(0, " ", 1)                         = 1 <0.000015>
pselect6(1, [0], NULL, [0], {tv_sec=0, tv_nsec=0}, NULL) = 0 (Timeout) <0.000078>
write(2, " ", 1)                        = 1 <0.000009>
pselect6(1, [0], NULL, NULL, NULL, {sigmask=[], sigsetsize=8}strace: Process 6673 detached
 <detached ...>

時々pselect62.2秒ほど遅く、時には速いです。

答え1

@muruが指摘したように、askubuntuには重複があります。https://askubuntu.com/questions/1509058/input-delay-on-terminal-ubuntu-22-04-4

xserver-common xserver-xephyr xserver-xorg-legacy xserver-xorg-core xwayland問題は解決されませんでしたが、4月10日にリリースされたパッケージをアップグレードすることで改善されました。apt update && apt upgradeこのパッケージでは、このバグに関する内容が修正されたようです。しかし、問題は完全に解決されていませんでした

Mutterを開発版にアップグレードすることを提案する答えをテストしました。https://askubuntu.com/a/1509474/1341824 これは問題を解決し、PhpStormでのちらつきなどの視覚的なバグも削除しました。

関連情報