Linux では、マジック SysRq キーを使用してコマンドを Linux カーネルに直接送信できます。これを使用すると、何も応答していないように見える場合でも、フリーズから回復したり、システムを正常に再起動したりできます。
マジック SysRq キーは Linux のキーボード ドライバーの一部として実装されており、Linux カーネルが実行されている限り機能します。このキーの組み合わせを無効にする必要があるのは、カーネル パニックの場合のみです。
画像クレジット: Flickr の solylunafamilia
マジック SysRq キーの使用
SysRq キーはキーボードの Scroll Lock キーの近くにあります。Sys Rq キーは通常、Print Screen キーと同じです。 「魔法の」 SysRq の組み合わせは Alt+SysRq です。
このキーの組み合わせを使用するには、Linux カーネルが CONFIG_MAGIC_SYSRQ コンパイル オプションを使用してコンパイルされている必要があります。ほとんどの Linux ディストリビューションでは、これがデフォルトで有効になっています。カーネルにコンパイルされていると仮定すると、/proc/sys/kernel/sysrq の値を変更することで、実行中のシステム上で有効または無効にすることができます。有効になっているかどうかを確認するには、次のコマンドを実行します。
猫 /proc/sys/カーネル/sysrq
「1」が表示される場合、マジック SysRq キーのすべての機能が有効になります。数値が大きいほど、特定の機能のみが有効であることを示します。詳細については 、公式の Linux カーネル ヘルプ を参照してください。
「0」が表示された場合は、次のコマンドを実行して、すべてのマジック SysRq オプションを自分で有効にすることができます。
sudo echo “1” > /proc/sys/kernel/sysrq
Ubuntu では、マジック SysRq オプションは、/etc/sysctl.d/10-magic-sysrq.conf ファイルの内容に従って起動時に設定されます。このファイルを編集して、必要な値を選択します。
凍結した X サーバーへの対処
X サーバー (グラフィカル デスクトップを実行するプログラム) がフリーズすると、システムが使用できなくなる可能性があります。役に立つ魔法の SysRq コマンドがいくつかあります。
- Alt + SysRq + r – キーボードを raw モードから解除し、X サーバーから制御を奪います。この組み合わせを実行すると、Ctrl + Alt + F1 (およびその他の F キー) キーボード ショートカットを使用して、別のコンソールに切り替えて X を再起動できるようになります。
- Alt + SysRq + k – X を含む現在の仮想コンソール上のすべてのプログラムを強制終了します。Ubuntu のキーボード設定で Ctrl+Alt+Backspace キーボード ショートカットを有効にして X サーバーを再起動することもできます。ただし、このショートカットは X サーバーによって実装されます。常に機能するとは限りません。
システムをクリーンに再起動する
これらのアクションの一部を順番に使用すると、プロセスを正常に終了し、データをディスクにフラッシュし、すべてのファイル システムをアンマウントし、コンピュータを再起動することができます。このプロセスを実行するには、Alt + SysRq キーの組み合わせを押したままにし、Alt キーと SysRq キーを押したまま、次のキーを順番に入力し、各キーの間に数秒間停止します。
レイサブ
「 Raising Elephants Is S o U tterly B oring」というニーモニックは、このシーケンスを覚えるためによく使用されます。各キーの機能は次のとおりです。
- r – キーボードを raw モードにし、X サーバーからキーボードの制御を奪います。
- e – すべてのプロセスに終了信号を送信し、正常に終了するように要求します。
- i – すべてのプロセスに kill シグナルを送信し、プロセスを即時に強制終了します。
- s – データをキャッシュからディスクにフラッシュします。
- u – すべてのファイル システムを読み取り専用で再マウントします。
- b – コンピュータを再起動します。
その他のコマンド
マジック SysRq キーを使用して実行できるその他のアクションをいくつか示します。アクションを実行するには、Alt + SysRq キーを押したまま文字を入力します。
- n – すべての高優先プロセスおよびリアルタイム優先プロセスの Nice レベル (優先度) をリセットします。
- f – oom_kill を呼び出します。これにより、メモリを大量に消費するプロセスが強制終了されます。
- o – コンピューターの電源を切ります。
他にもアクションはありますが、開発者にとっては平均的な Linux マニアよりも役立つ可能性があります。マジック SysRq キーの詳細、および実行できるアクションの完全なリストについては、Linux カーネルの 公式マジック SysRq ドキュメント を参照してください。





