Linux では、oops は「驚き」を意味します。これは情報プロンプトであり、システム上で実行されている何かがカーネルによって指定されたルールに違反していることを意味します。oops はクラッシュ シグネチャ「クラッシュ シグネチャ」を生成します。カーネル開発者はバグを発見し、コードの品質を向上させます。
#このチュートリアルの動作環境: linux5.9.8 システム、Dell G3 コンピューター。
Linux カーネルはユーザーを監視しており、通常のカーネルの動作に違反するシステム上で実行中の何かを検出すると、システムをシャットダウンして「おっと!」というメッセージを発行します。
Linux システムで実行されているプロセスを調べると、「kerneloops」と呼ばれるプロセスに興味があるかもしれません。念のために言っておきますが、これは「カーネルループ」ではなく「カーネルおっと」です。
率直に言うと、「おっと」は不安定な動作をする Linux カーネルの一部です。何か間違ったことをしましたか?そうでないかもしれない。しかし、何かが間違っています。そして、何か問題を起こしたプロセスは CPU によって終了された可能性があります。最悪の場合、カーネルがエラーをスローし、システムを突然シャットダウンする可能性があります。
「おっと」は頭字語ではないことに注意してください。それは「オブジェクト指向プログラミングとシステム」とか「手続き的な仕様から外れている」といった意味ではありません。それは文字通り、ワインを落としたり、猫を踏んだりしたような「おっと」です。おっとっと! 「oops」の複数形は「oopses」です。
oops は、システム上で実行されている何かが、正しい動作に関するカーネルのルールに違反していることを意味します。おそらく、コードが許可されていないコード パスを取得しようとしているか、無効なポインターを使用している可能性があります。それが何であれ、プロセスの不正動作を常に監視しているカーネルは、特定のプロセスをブロックし、そのプロセスについてのメッセージをコンソール (/var/log/dmesg
) に書き込む可能性が高くなります。 ##/var/log/kern.log。
kernoops 881 1 0 Feb11 ? 00:00:01 /usr/sbin/kerneloopsプロセスは root ではなく、「kernoops」という名前のユーザーによって実行されていることがわかります。実行時間。実際、この特定のユーザーに割り当てられている唯一のタスクは、カーネループを実行することです。
$ sudo grep kernoops /etc/passwd kernoops:x:113:65534:Kernel Oops Tracking Daemon,,,:/:/bin/falseLinux システムにカーネルループ (Debian など) が付属していない場合は、カーネルループを追加することを検討してください。詳細については、この Debian ページを参照してください。 「おっと」に注意する必要があるのはどのような場合ですか? 一般的なおっと、大したことはありません。それは、特定のプロセスが果たす役割に部分的に依存します。おっとのカテゴリーにもよります。 一部の問題は深刻であり、システム パニックを引き起こす可能性があります。技術的には、システム パニックは oops のサブセット (つまり、より深刻な oops) です。カーネルによって検出された問題が深刻で、データ損失やシステムへのその他の損傷を防ぐためにカーネルの実行を直ちに停止する必要があるとカーネルが判断した場合に発生します。したがって、不一致による可用性の低下や信頼性の低下を防ぐために、システムを一時停止して再起動する必要があります。したがって、システムは実際にパニックを起こして、修復不可能な損傷から身を守ります。 つまり、すべてのカーネル パニックは oops ですが、すべての oops がカーネル パニックであるわけではありません。
/var/log/kern.log および関連するローテーション ログ (
/var/log/kern.log.1、
/var/log / kern.log.2 など) には、カーネルによって生成され、syslog によって処理されたログが含まれます。
$ sudo cat /etc/kerneloops.conf | grep -v ^# | grep -v ^$ [sudo] password for shs:allow-submit = ask allow-pass-on = yes submit-url = http://oops.kernel.org/submitoops.phplog-file = /var/log/kern.logsubmit-pipe = /usr/share/apport/kernel_oops上記の (デフォルト) 設定では、カーネルの問題を送信できますが、ユーザーの許可が必要です。
allow-submit = always に設定すると、ユーザーは質問されません。
Linux ビデオ チュートリアル 」
以上がLinux とは何ですか、おっとの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。