Handbrake/ffmpegに問題があります。約5分間のトランスコーディングの後、コンピューターがロックします。 caps-lockが点滅を開始するため、カーネルパニックであると確信しています。
何をすべきか、特定のバグについていくつかの論理的な質問がありますが、私は本当に一つのことを後にしています:すべてが死ぬ直前に何が起こったのですか?!
/var/log/kern.log
を確認しましたが、その間に見られるのはDVDを貼り付けてから数分後にシステムが起動することだけです。エラーなし、パニック通知なし。
パニックを強制的に記録する方法はありますか?私はこれを再現できるとかなり確信しています(最近試した回数の100%が発生しました)。パニックの原因を見つけます。
Ubuntuのシステムログはすべて rsyslog
によって処理され、/etc/rsyslog.conf
および/etc/rsyslog.d/
に設定が保持されます。
rsyslog
の設定方法と可能なオプションの詳細については、 rsyslog.conf man page
をご覧ください。
/etc/rsyslog.d/50-default.conf
を開くと、行の1つに以下が含まれていることがわかります。
*.*;auth,authpriv.none -/var/log/syslog*
この場合、探しているファイルはおそらくあなたが持つ巨大な/var/log/syslog
ログのいずれかであることを意味します。
ファイル名も-
で始まることがわかります。これは、書き込み前にファイルがキャッシュされることを意味しますが、素晴らしいが、悪いログが残る可能性があります。 。ダッシュを削除して再起動するか、rsyslog
をリロードしてからコンピューターを再度クラッシュさせます。/var/log/syslog
を確認します。
本当にカーネルパニックの場合、通常の方法ではログに書き込まれません。カーネルはこの時点でクラッシュしているため、ファイルシステムへの書き込みは危険な操作です-カーネルの多くはもはや信頼できないため、ログへの書き込みは実際にはブートローダー上にランダムながらくたを吐き出すかもしれません!
代わりに、メモリの内容をスワップにダンプし、後でデバッグできます。これは、カーネルクラッシュ/コアダンプとして知られています。
Ubuntu Wikiには、役に立つかもしれない CrashdumpRecipe があります-少し時代遅れに見えますが、あまり変更すべきではないと思います。
シリアルポート
シリアルポートは、コンピューター間の単純な低レベル通信メカニズムです。
利点:
欠点:
シリアルポートは次のようになります。
rPIでは、GPIOを介して利用できます。
次に、必要なハードウェアがある場合、2番目のコンピューターからメインコンピューターに以下を使用して接続します。
screen /dev/ttyS0 115200
これは実際にシェルを提供します。
次に、メインマシンで、パニックを起こす操作を開始します。
パニックが発生すると、パニックダンプは2番目のマシンにストリーミングされます。ターミナルを上にスクロールすると、すべてを確認できます。
その他の方法
上記のハードウェアの制限を克服する他の方法もありますが、より複雑で信頼性が低くなります。注目すべき方法:
この素晴らしい回答も参照してください: https://unix.stackexchange.com/questions/60574/determining-cause-of-linux-kernel-panic
ステップデバッグ
最終的に、パニック出力を取得するにはいくつかのカーネル機能が動作する必要があり、パニックによってカーネル機能が破損する可能性があります。
しかし、カーネルでGDBを使用できる場合、誰がパニックを必要としますか?あなたがその筋金入りの場合は、見てください:
すべての問題は、完全な可視性が得られると(そして十分な時間があると!)落ちます。