再起動しても効果はありません。

再起動しても効果はありません。

私の仮想マシンはUbuntu(14.04.4)で実行されています。時には、再起動コマンドで仮想マシンを再起動したい場合があります。コマンドを実行すると「成功」と表示されますが、何も起こりません。

システムログを確認しましたが、特別なログは見つかりませんでした。 SSHなどの一部のサービスがダウンしているようです。

再起動する前に、仮想マシン(1.12.6)にdocker hangの問題があり、/var/lib/dockerからdockerファイルを削除しました。ゾンビプロセスがまだ存在します。

VM Web コンソールから VM を再起動できます。 (許可なし)

知りたい、

  • このようなことが起こったらどうすればいいですか?
  • / procで見つかったように、この問題の手がかりをどのように見つけることができますか? "shutdown -r"を使用して再起動し、実行中のすべてのプロセスを終了しようとします。どんな状況でも「再起動」は中断されますか?
  • 最初の「reboot」コマンドの後に「reboot -f」を再実行してシステムをシャットダウンできますか?安全ではなく、試していませんでした。

ポリスチレン

この問題に対して魔法コマンドを実行すると、サーバーはすぐに正常に再起動します。

echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger

ダーティページをディスクに同期したり、実行中のすべてのプロセスを終了するなど、再起動すると正常に再起動できることがわかります。

再起動を実行すると、一部のゾンビプロセスが特殊な名前空間に作成されました。 dockerコンテナが削除され、名前空間も削除されるため、メモリにはtask_structのみが残り、wait4によって解放される必要があります。

プロセス間の継承は、

容器を取り出した後、廃棄、

  1. Dockerコンテナが終了すると、init 1によって子プロセスが採用されます。
  2. コンテナが削除されたため、エントリポイントの開始プロセスを終了できません。
  3. 親プロセスが待機せずにメモリに残っているため、ゾンビは持続します4

    • init 1(global ns) - > dockerコンテナ化(global ns)(sleep) - > dockerエントリポイントの開始(container ns)(sleep) - > java(container ns)(ゾンビ)

ベストアンサー1

おすすめ記事