ホームページ  >  記事  >  運用・保守  >  Linux とは何ですか、おっと

Linux とは何ですか、おっと

青灯夜游
青灯夜游オリジナル
2022-02-24 13:34:583639ブラウズ

Linux では、oops は「驚き」を意味します。これは情報プロンプトであり、システム上で実行されている何かがカーネルによって指定されたルールに違反していることを意味します。oops はクラッシュ シグネチャ「クラッシュ シグネチャ」を生成します。カーネル開発者はバグを発見し、コードの品質を向上させます。

Linux とは何ですか、おっと

#このチュートリアルの動作環境: linux5.9.8 システム、Dell G3 コンピューター。

Linux カーネルはユーザーを監視しており、通常のカーネルの動作に違反するシステム上で実行中の何かを検出すると、システムをシャットダウンして「おっと!」というメッセージを発行します。

Linux システムで実行されているプロセスを調べると、「kerneloops」と呼ばれるプロセスに興味があるかもしれません。念のために言っておきますが、これは「カーネルループ」ではなく「カーネルお​​っと」です。

率直に言うと、「おっと」は不安定な動作をする Linux カーネルの一部です。何か間違ったことをしましたか?そうでないかもしれない。しかし、何かが間違っています。そして、何か問題を起こしたプロセスは CPU によって終了された可能性があります。最悪の場合、カーネルがエラーをスローし、システムを突然シャットダウンする可能性があります。

「おっと」は頭字語ではないことに注意してください。それは「オブジェクト指向プログラミングとシステム」とか「手続き的な仕様から外れている」といった意味ではありません。それは文字通り、ワインを落としたり、猫を踏んだりしたような「おっと」です。おっとっと! 「oops」の複数形は「oopses」です。

oops は、システム上で実行されている何かが、正しい動作に関するカーネルのルールに違反していることを意味します。おそらく、コードが許可されていないコード パスを取得しようとしているか、無効なポインターを使用している可能性があります。それが何であれ、プロセスの不正動作を常に監視しているカーネルは、特定のプロセスをブロックし、そのプロセスについてのメッセージをコンソール (/var/log/dmesg) に書き込む可能性が高くなります。 ##/var/log/kern.log

oops は、カーネル自体が原因で発生する場合もあれば、システム上でカーネルが実行できることや許可されていることに違反しようとするプロセスによって発生する場合もあります。

oops はクラッシュ シグネチャを生成します。これは、カーネル開発者がバグを見つけてコードの品質を向上させるのに役立ちます。

システム上で実行されている kernelloops プロセスは次のようになります:

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/false

Linux システムにカーネルループ (Debian など) が付属していない場合は、カーネルループを追加することを検討してください。詳細については、この Debian ページを参照してください。

「おっと」に注意する必要があるのはどのような場合ですか?

一般的なおっと、大したことはありません。それは、特定のプロセスが果たす役割に部分的に依存します。おっとのカテゴリーにもよります。

一部の問題は深刻であり、システム パニックを引き起こす可能性があります。技術的には、システム パニックは oops のサブセット (つまり、より深刻な oops) です。カーネルによって検出された問題が深刻で、データ損失やシステムへのその他の損傷を防ぐためにカーネルの実行を直ちに停止する必要があるとカーネルが判断した場合に発生します。したがって、不一致による可用性の低下や信頼性の低下を防ぐために、システムを一時停止して再起動する必要があります。したがって、システムは実際にパニックを起こして、修復不可能な損傷から身を守ります。

つまり、すべてのカーネル パニックは oops ですが、すべての oops がカーネル パニックであるわけではありません。

/var/log/kern.log および関連するローテーション ログ (/var/log/kern.log.1/var/log / kern.log.2 など) には、カーネルによって生成され、syslog によって処理されたログが含まれます。

kernelloops プログラムはエラー情報を収集し、デフォルトで http://oops.kernel.org/ に送信し、そこで分析されてカーネル開発者に提示されます。このプロセスの構成の詳細は、/etc/kerneloops.conf ファイルで指定されます。次のコマンドを使用すると、設定を簡単に表示できます:

$ 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 システムを使用するためのより高度なテクニックの 1 つです。幸いなことに、ほとんどの Linux ユーザーは、エラーやカーネル パニックをほとんどまたはまったく経験しません。ただし、カーネループなどのプロセスがシステム上で何を行うのか、また、システムで重大なカーネル競合が発生したとき、そのプロセスが何を報告する可能性があるのか​​を知っておくことも重要です。

関連する推奨事項: 「

Linux ビデオ チュートリアル

以上がLinux とは何ですか、おっとの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。