差分

Chrt

296 バイト追加, 2018年11月9日 (金) 02:29
/* soft lockup の警告 */
マルチ・コアのCPUチップを使っているハードウェア環境でリアルタイムのSCHED_FIFOでプログラムを動かしている時、特定のプロセスをCPUコアに割り当てたまま、ずっと処理し続けるような条件になる時があります。
他のプロセスは空いている他のCPUコアを使うので十分処理ができ、一方でSCHED_FIFOとして稼働中のプロセスが特定のCPUを占有してしまっているようなケースです。
このようなとき、システム的には問題がないのですが、(デフォルト)ではカーネルが1つのプロセスがCPUを占有していることに対して警告を出します。このようなとき、システム的には問題がないのですが、デフォルトではカーネルが1つのプロセスがCPUを占有していることに対して警告を出します。
/var/log/messages に次のようなメッセージが大量に現れてシステム全体のパフォーマンスが落ちてしまう場合もあります。
システム的に問題がないがなく、しかしながらsoft lockupのメッセージが大量に出てしまうためにトラブルになっている場合に限りますが、このオプションを切ってしまうことで少なくともシステムの警告はログファイルに出力されなくなります。
これは/boot/config-(カーネル番号)-xxx というカーネルのコンフィグレーションファイルの中にあるCONFIG_LOCKUP_DETECTORをオフすることで解決できます。
具体的な手順は書きませんが、このオプションをオフにしてカーネルのイメージを再構成すればメッセージは出なくなります。具体的な手順は書きませんが<ref>十分な理解なしに見よう見まねでカーネルのコンフィグレーションを変更することは致命的な障害を引き起こす可能性があるので推奨しません。行うときは十分に理解した上で行ってください。</ref>、このオプションをオフにしてカーネルのイメージを再構成すればメッセージは出なくなります。
== 脚注 ==
 
<references/>
----
[[プロセス管理]]