OK、カーネルの設定も続けてください。まだまだ設定すべき機能があります。
次の質問)は、カーネルがカーネル・ダンプ・ファイルを生成できるかどうかを尋ねています。これはカーネルを4KB大きくするので、「いいえ」を選びました。
注意:カーネルダンプファイルとは、プログラムがクラッシュする前の状態を記録したものです。カーネルダンプは問題のデバッグに使用されます。このダンプ・ファイルの形式はELF(Executable and Linkable Format)です。
PCスピーカーは下記で有効化できます)。ほとんどのコンピューター・ユーザーはスピーカーを所有し、使用しているので、これで有効になります。
以下の機能はカーネルのサイズを増加させますが)、パフォーマンスも向上します。だから私は「はい」を選びます。
カーネルが glibc ベースのプログラムを実行するには、FUTEX (Enable futex support ) を有効にする必要があります。この機能により、高速なユーザー空間のミューテックスロッキングが可能になります。
注:glibc (GNU C Library) はGNUによって実装された標準Cライブラリです。
注意:FUTEXは、複数のスレッドが使用できない同じ共有リソースに、2つのスレッドがアクセスするのを防ぐために使用されます。
epollシステムコールを無効にするには、次の質問に「no」と答えてください。epollはI/Oイベント通知システムです。
ファイル・ディスクリプタからシグナルを受け取るには、signalfdシステム・コール・システム・コールを有効にしてください。
この機能(システム・コール)を有効にすると、プログラムはタイマー・イベントを使用してファイル・ディスクリプタを取得できるようになります。
現在の構成では、eventfd システム・コール(システム・コール)を有効にする必要があります。デフォルトでは、共有メモリー・ファイルシステムへのアクセスが有効になります。共有メモリ・ファイル・システムは仮想メモリ・ファイル・システムです。
次の課題は「AIOサポートを有効にする」です。この機能は、スレッド化されたアプリケーションでPOSIX非同期I/Oを有効にします。
注:入出力の処理には非同期I/Oが使用され、転送が完了する前にスレッドが処理を終えることができます。
組み込みシステム用にカーネルを設定する場合は、"組み込みシステム "の質問は "はい "を選択できます。そうでない場合は、私のように「いいえ」を選択してください。
注:組込みシステムは、より大きな電子システム上で動作するリアルタイム・コンピュータです。
カーネルパフォーマンスイベントとタイマーを設定できるようになりました。コンフィギュレーション・ツールでは、イベントとカウンターを直接有効にするオプションは開発者にはありません)。これは重要な機能です。
次に、もうひとつのデバッグ機能であるバッファを無効にします。)
VMイベント・カウンターが有効な場合、イベント・カウントは/proc/vmstatに表示されます(Enable VM event counters for /proc/vmstat )。イベント・カウンターが無効な場合は表示されず、/proc/vmstat にはメモリ・ページ・カウントのみが表示されます。
PCIチップをより良くサポートするために、"はい "と答えます。これにより、PCIチップの奇妙な動作やバグを一時的に解決することができます。
この機能は多くのスペースを占有し、カーネルをデバッグするためのSLB sysfsを無効にします。この機能を無効にすると、/sys/slabが存在しなくなり、バッファ検証はシステムでサポートされなくなります。
ヒープのランダム化は、ヒープ脆弱性の悪用をより困難にする機能です)。しかし、libc5 ベースのソフトウェアはこのシステムでは動作しないため、わざわざ有効にする必要はありません!特別な理由がある場合や、libc5ベースのソフトウェアを使用しない場合のみ、有効にしてください。私はこの機能を無効にしました。汎用カーネルをコンパイルする場合、開発者はこの機能を無効にしたいでしょう。
次に、SLAB アロケータを選択する必要があります。SLAB アロケータは、カーネルオブジェクトを断片化せずに効率的にメモリに配置するメモリ管理システムです。デフォルトの選択は「2」です。
SLABアロケータの選択
1.スラブ
> 2.スラブ
3.SLOB
選択肢[1-3?]: 2
拡張パフォーマンス・サポートをサポートするには、"はい "と答えてください。
次の質問では、開発者にOProfileシステムを有効または無効にするオプションを与えます。無効にすることも、有効にすることも、必要なときにロードするモジュールとして追加することもできます。私はこの機能を無効にすることにしました。
Kprobesを使うと、ほとんどすべてのカーネル・アドレスをキャプチャしてコールバック関数を起動できます。これはデバッグ・ツールで、私のように無効にすることもできます)。
この最適化機能は有効にできます)。これにより分岐予測が容易になり、オーバーヘッドが削減されます。
設定ツールは、"Transparent Userspace Probe" と呼ばれる実験的な機能を有効にします)。すべての実験的な機能が不安定で悪いというわけではありません。
次に、gcovベースのカーネル分析について尋ねられます)。これは無効にすることができます。
カーネルがモジュールをロードできるようにするには、ローダブルモジュールサポートを有効にする必要があります)。
カーネルは通常、バージョン番号の付いたモジュールしかロードできません。バージョン番号のないモジュールをカーネルがロードできるようにしたい場合は、この機能を有効にしてください)。そうすることは悪いメモなので、この機能の特別な必要性がない限り、無効にしています。
この機能が有効になっている場合)、Linuxカーネルはモジュールをアンインストールすることもできるので、有効にしておくとよいでしょう。アンインストールしたいモジュールをアンインストールすべきでないとカーネルが判断した場合、ユーザーはモジュールをアンインストールできません。強制アンインストールを有効にすることは問題ありませんが、推奨されません。
バージョン・サポートは、カーネル用に開発されていないモジュールや、バージョン番号が適用されないモジュールを使用するために有効にすることができます)。異なるバージョン番号のモジュールを混在させない方が良いので、この機能は無効にしています。
モジュールのmodinfoには "srcverion "というフィールドがあります。このフィールドにより、開発者はモジュールのコンパイルに使われたソースバージョンを知ることができます。このオプションを有効にすると、モジュールをコンパイルするときにこのフィールドを含めることができます。これは必要ないので、無効にしました)。前のオプションを有効にすると、開発者はモジュールにチェックサムを追加できます)。
モジュールの署名検証を有効にするには)、このオプションは "yes "と答えます。そうしないと、カーネルはモジュールをロードする前に署名をチェックして検証します。
ブロックレベルのサポートを有効にするには)、私がしたように「yes」を選択してください。これを無効にすると、ブロックデバイスが使用できなくなり、一部のファイルシステムが有効になりません。
以下では、SG サポートはデフォルトで有効になっています)、補助ライブラリは有効になっています)。
以下の質問は、ブロック・デバイスのデータ・インテグリティ・サポートに関するものです。)この機能は、デバイスのデータ保護機能を提供するために、より良いデータインテグリティを持つことができます。多くのデバイスはこの機能をサポートしていないので、無効にしました。
ブロックレベルのバイオ帯域幅制限が有効になっている場合)、デバイスのIOレートを制限できます。
外部パーティショニングスキームのサポートを有効にするには、この質問に「はい」と答えてください)。私はこの機能を無効にしました。
CSCAN(訳注:巡回スキャン)とFIFO期限切れ要求を有効にするには、デッドラインIOスケジューラ)を有効にします。
CFQ IOスケジューラは、プロセッサ間で帯域幅を均等に分配します。したがって、この機能 FEATURE ) を有効にすることは良いアイデアです。
その下で、開発者は CFQ グループのサポートを有効または無効にできます)。次に、開発者はデフォルトの IO スケジューラ、できれば DEFAULT_DEADLINE を選択できます。
32ビット未満のアドレスを持つデバイスの場合、以下の機能により16MBのアドレス空間が割り当てられます)。これらのデバイスを使用しないのであれば、これは無効にできますので、私は無効にしました。
複数の CPU を搭載したシステムでは、SMP (Symmetric multi-processing support ) を有効にするのが最善です。プロセッサが1つしかないデバイスでは、この機能を無効にした方がカーネルの実行速度が速くなります。私はこの機能を有効にしています。
x2apicをサポートしているCPUの場合は、x2apic supportsupportを有効にしてください。)システムにこの機能がない場合は、私のように無効にしてください。
MPS テーブルは、適切な ACPI サポートがない古い SMP システムでは、次に有効にすることができます)。より新しいACPI、DSDT、MADTをサポートするシステムでは、この機能は必要ありません。私は無効にしました。
次の質問では、拡張 x86 プラットフォーム x86 プラットフォームのサポートを有効にすることができます。)汎用のカーネルが必要な場合、またはカーネルが拡張サポートを必要とする特定のプロセッサ上で動作する場合にのみ有効にしてください。私はこの機能を無効にしました。
この機能は、インテルの低消費電力サブシステムをサポートするために有効になっています)。
WCHAN出力)を使用して電力を計算しますが、これはより多くの電力を消費することになります。
以下では、仮想クライアントシステムのサポートを有効にします)。これにより、ゲストOSをメインOSと一緒に実行できるようになります。私はこの機能を無効にします。
Memtestは、システム起動時にメモリを検出するソフトウェアです。Memtestは、毎回実行するように設定することも、システム起動時に時々実行するように設定することもできます。Memtestは必要ないので、無効にしました。
ここでは、カーネルがサポートすべきプロセッサファミリーを選択できます。これは64ビットシステムで、x86は32ビットシステムです。
以下は、x86(32ビット)プロセッサもサポートするように選択できます)。
マシンの異常を検出するには、異常を検出できるDMIスキャン)を有効にします。
システム上の3GBを超える32ビットメモリへのDMAアクセスを有効にするには、次の質問に「はい」と答えてください)。
via:





