問題を再現できる場合は、問題は80%解決しています。オペレーティングシステムの中核については、再現方法に問題がある場合は、99%が解決されたと言えます。一般的な問題は、システムがしばらく稼働してからクラッシュする可能性があることです。問題を再現するのが良くない場合、分析だけがクラッシュの現場に残っているものに基づいています。ディスクの中断やファイルシステムが正常であるなど、システムが停止していない場合は、ログ情報がファイルに保存されている可能性がありますが、私はそのような幸運に遭遇したことはありません。キーボード割り込みが応答できる場合(Num Lockを押すと、キーボードのライトが点灯します)、運が良ければ、sysrqメソッドを犠牲にしてAlt-Sysrq-Tを押してプロセスシステムスタック情報を取得できます。 Alt-Sysrq-Mを押してメモリ割り当て情報を取得し、Alt-Sysrq-Wを押して現在のレジスタ情報を取得します。 Linux /Documentation /sysrq.txtさらに、システムが停止したときに少なくとも何らかの情報が画面に表示されるように、端末の自動空白機能をオフにするのが最善です。設定方法は次のとおりです。#echo 1> /proc /sys /kernel /sysrq#setterm -blankこれら2つの設定は、毎回保証されているシステム起動スクリプト(/etc/rc.d/rc.localなど)に追加するのが最善です。起動することができます。残念なことに、キーボードが死んでいて(そしてもっと不幸にも、これは非常に一般的です)、それは死を待つための唯一の方法ではありません、そしてあなたは他の人にシステム情報を送るためにシリアルコンソールを使うことができますシステムでは、これを使用してこの情報を分析して問題を見つけることができます。設定方法は以下のとおりです。準備1.監視対象サーバ、監視用PC。シリアルポートが直接接続されている。設定1.サーバー上で、新しいgrubプロジェクトを追加し、次のようなコアパラメータ "console = ttyS0 console = tty1"を追加します。kernel /boot/vmlinuz-2.4.21-9.30AXsmp ro root = LABEL = /1 console = ttyS0 Console = tty1 2.サーバ上で/etc /sysconfig /syslogを修正し、klogdオプション "-c 7"を追加してカーネル情報がもっと出力されるようにする。例:KLOGD_OPTIONS = " - x -c 7" 3.サーバーを再起動します。4. 2台のコンピューターをシリアルケーブルで接続します。テスト:1)PCで "cat /dev /ttyS0"を実行し、サーバーで "echo"を実行します。こんにちは> /dev /ttyS0 "、PCに" hi "の出力があるかどうか確認してください。 2)PCで "cat /dev /ttyS0"を実行し、サーバーで "echo w> /proc /sysrq-trigger"を実行して、対応するカーネル情報がPCに出力されているかどうかを確認します。 3)PCで "cat /dev /ttyS0"を実行し、サーバーで "modprobe loop"を実行して、対応するカーネル情報がPCに出力されているかどうかを確認します。 5.テストに合格したら、PC上で実行します。cat /dev /ttyS0 | 5
Tee /tmp /resultまたは、Windowsハイパーターミナルを使用してシリアル情報を入手することもできます。さらに、LKCD、netdump、その他のデバッグ機能をサポートしているコアもあるので、試すこともできます。それ以外は、経験と運に頼るだけで、Linuxシステムクラッシュの一般的な原因は次のとおりです。システムハードウェアの問題(SCSIカード、マザーボード、RAIDカード、ネットワークカード、ハードディスクなど)周辺ハードウェアの問題(ターミナルスイッチャー、ネットワーク)。 ..)ソフトウェアの問題によるバグ(最新のドライバを探す)コアシステムのバグ(LKMLを見る、または他のコアを試す)システム設定、google。 「Linuxシステムがクラッシュしましたか?」と直接入力すると、PE6650が頻繁にクラッシュし、同じ問題が発生するかどうかを確認することもできません。科学と芸術の両方であるLinuxシステムのクラッシュを調査することは、ハードウェアとソフトウェアに関する多くの知識と経験を必要とします。