admin_reserve_kbytes 커널 매개변수의 기본값은 무엇입니까?

admin_reserve_kbytes 커널 매개변수의 기본값은 무엇입니까?

많은 커널 매개변수에는 기본값이 할당되어 있습니다. 그러나 그 중 일부는 아직 명확하지 않습니다. 내가 읽고있다프로세스 매뉴얼이 경우 admin_reserve_kbytes다음을 읽을 수 있습니다.

이 파일의 기본값은 KiB로 표시되는 [사용 가능한 페이지의 3%, 8MiB]의 최소값입니다.

다른 유사한 기본값이 있는데 이것이 무엇을 의미합니까?

답변1

커널 시작 중 특정 시점(MM 하위 시스템이 초기화될 때)에 사용 가능한 메모리의 나머지 3%를 계산합니다. 8MiB를 초과하면 값이 8MiB로 설정됩니다. 그래서 우리는 값이 둘 중 최소값으로 설정되었다고 말합니다. 이는 일회성 초기화이므로 다시 계산되지 않습니다.

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

sysctl의 값은 숫자입니다. 바이트 수가 아닙니다. "KiB" 숫자입니다. 1KiB는 1024바이트입니다. 2의 거듭제곱인 1000에 가장 가까운 숫자입니다. RAM 칩은 2의 거듭제곱으로 구성됩니다. (또한 빠른 이진 시프트 연산을 사용하여 2의 거듭제곱을 곱하거나 나눌 수 있습니다.)

관련 정보