zcat /proc/config.gz でアロケータを確認する
このステップでは、通常圧縮されて /proc/config.gz
にあるカーネル設定ファイルを調べることで、アロケータの設定を確認します。このファイルには、メモリ割り当てに関連するものを含む、カーネルをビルドするために使用される設定オプションが含まれています。
まず、zcat
コマンドを使用して設定ファイルの内容を解凍して表示しましょう。
zcat /proc/config.gz
zcat
コマンドは cat
に似ていますが、gzip 形式で圧縮されたファイルを自動的に解凍します。出力は、カーネル設定オプションの長いリストになります。
アロケータ関連のオプションを見つけるには、grep
を使用して出力をフィルタリングできます。例えば、スラブアロケータに関連するオプションを見つけるには、次のコマンドを使用できます。
zcat /proc/config.gz | grep SLAB
これにより、「SLAB」を含む行が表示されます。次のような内容が表示されるかもしれません。
CONFIG_SLAB=y
## CONFIG_SLAB_DEPRECATED is not set
CONFIG_SLUB=y
## CONFIG_SLOB is not set
これらのオプションは、カーネルでどのスラブアロケータが有効になっているかを示しています。CONFIG_SLAB=y
は、元のスラブアロケータが有効になっていることを示し、CONFIG_SLUB=y
は、SLUB アロケータが有効になっていることを示します。これらのうちの 1 つだけが有効になっているはずです。CONFIG_SLOB
は、組み込みシステム用の簡易アロケータです。
また、ページアロケータやバディシステムに関連するオプションなど、他のアロケータ関連のオプションを検索することもできます。例えば:
zcat /proc/config.gz | grep PAGE_ALLOC
これにより、ページ割り当てに関連するオプションが表示されます。
カーネル設定ファイルを調べることで、どのアロケータが使用されているか、およびどのオプションが有効になっているかを確認できます。これは、システムのメモリ管理動作を理解するのに役立ちます。