memory.memsw.limit_in_bytes: 잘못된 인수

memory.memsw.limit_in_bytes: 잘못된 인수

저는 Debian 10 서버를 가지고 있고 cgroups2를 사용하여 사용자의 메모리 + 스왑을 제한하려고 합니다.

사용하면 잘 작동하지만 작동하지 않는 memory.limit_in_bytes메모리+스왑 사용을 제한하고 싶습니다 .memory.memsw.limit_in_bytes

다음을 실행할 때 이 오류가 발생합니다 cgconfigparser.

root@server:~# cgconfigparser -l /etc/cgconfig.conf
Error: failed to set /sys/fs/cgroup/memory/group1/memory.memsw.limit_in_bytes: Invalid argument
cgconfigparser; error loading /etc/cgconfig.conf: Failed to remove a non-empty group
root@server:~#

그룹은 다음과 같습니다.

group group1 {
  memory {
    memory.memsw.limit_in_bytes = 512m;
  }
}

무엇이 문제인지 아시나요?

편집: GRUB 명령에서 cgroups 메모리와 swapaccount를 이미 활성화했지만 여전히 문제가 발생합니다.

답변1

답변을 제공해 주신 @doktor5000에게 감사드립니다.단일 Linux 프로세스의 메모리 사용량 제한

나는 그 대답으로부터 다음과 같은 결론을 내렸습니다: memory.limit_in_bytesmust be set before memory.memsw.limit_in_bytes, 그리고 memory.memsw.limit_in_bytesmust 크거나 같아야 합니다memory.limit_in_bytes

제 경우에는 다음 그룹 구성이 작동했습니다.

group group1 {
  memory {
    memory.limit_in_bytes = 512m;
    memory.memsw.limit_in_bytes = 512m;
  }
}

이는 사용자의 메모리+스왑을 512MB로 제한하는 것으로 보입니다. 나는 그것을 테스트했습니다.https://github.com/julman99/eatmemory

관련 정보