admin_reserve_kbytes 内核参数的默认值是多少?

admin_reserve_kbytes 内核参数的默认值是多少?

许多内核参数都分配有默认值。但其中有些还不是很清楚。我正在阅读过程手册在这种情况下,admin_reserve_kbytes我们可以阅读以下内容:

此文件中的默认值是 [3% 的可用页面,8MiB] 的最小值,以 KiB 表示。

还有其他类似的默认值,那么这是什么意思呢?

答案1

在内核启动期间的某个时间(当 MM 子系统初始化时),它会计算剩余可用内存的 3%。如果超过 8MiB,则该值设置为 8MiB。因此我们说该值设置为两者中的最小值。这是一次性初始化;它永远不会被重新计算。

https://elixir.bootlin.com/linux/v5.0/source/mm/mmap.c#L3666

sysctl 的值是一个数字。它不是字节数;而是字节数。它是一个“KiB”的数字。 1 KiB 是 1024 字节。它是最接近 1000 的数字,即 2 的幂。RAM 芯片内置于 2 的幂中。(此外,我们可以使用快速二进制移位运算来乘或除 2 的幂)。

相关内容