Dockerが原因でagettyがCPU100% | クズリーマンのカス備忘録

Dockerが原因でagettyがCPU100%

docker-logo docker
スポンサーリンク

環境

  • CPU1コアのマシン
  • Ubuntu 18.04.5 LTS
  • Docker version 20.10.6, build 370c289

 

事象

Dockerのコンテナを起動しているホストOSで、CPU使用率が100%になっており、htopコマンドやらで調べると、agetty というプロセスが100%近くCPU食ってる。

ホストマシンが1コアのマシンでしか見たこと無い現象なので、マルチコアのマシンだとどうなるか知らぬ。

でもCPUはagettyが結構食うはず。

 

原因

よくわからんがDockerのコンテナを矢継ぎ早に起動しちゃうとログインプロンプトのプロセス(agetty)がCPU食っちゃう?(てきとー

 

agettyとは

agettygettyの Linux バージョンです。「get tty」の略である getty は、ホスト コンピューター上で実行される Unix プログラムであり、物理端末または仮想端末を管理してマルチユーザー アクセスを可能にします

 

agetty command in Linux with Examples - GeeksforGeeks
A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/c...

 

Qiitaの記事に書いていただいている原因↓

完全に予想ではあるが、コンテナ立ち上げ時にコンテナに対してagettyのログインプロンプトが割り当てられる。
割り当てが完了し、排他制御が出来るまでに次のコンテナが立ち上がるとagettyが重複して割り当てらる事によってプロセスが暴走している(ように見える)。

 

Dockerを利用していてagettyがCPU使用率を専有してしまったら - Qiita
Dockerを利用していていると稀に遭遇する問題を書き起こしてみました。正直何が原因で何をすれば改善出来るのかはっきりとわかっておりません。自分の備忘録的な意味合いが強い記事ですがもしかしたら現…

 

対処:gettyサービスを停止する

立ち上がっているgettyサービスを確認する。

systemctl list-units *getty*

 

↑で起動しているサービスを軒並み停止していく

sudo systemctl stop serial-getty@ttyS0.service

sudo systemctl stop system-serial\x2dgetty.slice

蛇足

どうでもいいけど、検索するときにagettyじゃなくて、aggety

って間違ってやっちゃいそうになりがちなワシ。

Google先生が補正してくれるのでタスカルワ~。

 

 

コメント

タイトルとURLをコピーしました