활성화하려고 합니다.거대한 TLB내 시스템의 cgroup v2에 컨트롤러가 있지만 이를 수행하는 방법을 모르겠습니다.
내 시스템의 컨트롤러 목록은 다음과 같습니다.
cat /sys/fs/cgroup/cgroup.controllers
cpuset cpu io memory pids rdma
내 시스템에 표시되는 meminfo는 다음과 같습니다.
cat /proc/meminfo | grep Huge
AnonHugePages: 0 kB
ShmemHugePages: 0 kB
FileHugePages: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 0 kB
cgroup v2에서 HugeTLB 컨트롤러를 활성화하는 데 뭔가 빠졌나요? 활성화해야 하는 커널 플래그나 기타 설정이 있습니까?
답변1
승인 페이지 하단에서 볼 수 있듯이 Control Group v2는 HugeTLB 컨트롤러를 지원합니다.
V1과의 차이점은 v2를 지원하고 v1 계층 구조에 바인딩되지 않은 모든 컨트롤러입니다.v2 계층 구조에 자동으로 바인딩되어 루트 디렉터리에 표시됩니다.
그러면 mount 명령에 추가 옵션을 지정할 필요가 없습니다.
mount -t cgroup2 none $MOUNT_POINT
그 정도면 충분합니다.
일부 cgroup을 생성하고 cgroup.controllers
관련 파일을 읽어 거대한 TLB 컨트롤러를 사용할 수 있는지 확인할 수 있습니다.
물론 (다른 컨트롤러와 마찬가지로) 기본적으로 활성화되지 않습니다.
모든 학점kernel.org 공식 문서.
답변2
대부분의 배포 커널은 이 구성 옵션을 설정하지만, 자체 커널을 컴파일한 경우 이를 놓칠 수 있습니다 CONFIG_CGROUP_HUGETLB
.
현재 커널에 이 옵션이 활성화되어 있는지 확인할 수 있습니다
grep CONFIG_CGROUP_HUGETLB /boot/config-`uname -r`
인쇄되지 않으면 CONFIG_CGROUP_HUGETLB=y
이 옵션을 사용하여 커널을 다시 컴파일해야 합니다.