多くのカーネルパラメータにはデフォルト値が割り当てられています。しかし、その一部はまだ明確ではありません。私が読んでいるプロセスマニュアルこの場合、admin_reserve_kbytes
以下を読むことができます。
このファイルのデフォルト値は、KiBで表示される[使用可能ページの3%、8MiB]の最小値です。
他にも同様のデフォルト値がありますが、これはどういう意味ですか?
ベストアンサー1
カーネルの起動中に、特定の時点(MMサブシステムが初期化されるとき)に使用可能なメモリの残りの3%を計算します。 8MiBを超えると、値は8MiBに設定されます。だから我々は、値が2つの最小値に設定されていると言います。これはワンタイム初期化なので再計算されません。
https://elixir.bootlin.com/linux/v5.0/source/mm/mmap.c#L3666
sysctl の値は数値です。バイト数ではありません。 「KiB」の数字です。 1KiBは1024バイトです。 2の累乗である1000に最も近い数値です。 RAMチップは2の累乗で構成されています。 (また、クイックバイナリシフト演算を使用して2の累乗を乗算または分割することもできます。)