GPU 기반 시스템이 있습니다. 여러 사용자가 시스템을 사용하므로 RAM이 완전히 활용되어 메모리가 남지 않는 경우가 많습니다. 나를 제외한 모든 사용자에 대해 최대 RAM 제한을 설정하고 싶습니다. 나는 다음을 시도했습니다 :
Ubuntu에서 그룹 만들기를 사용하세요
groupadd
.
포인트 3.1에 따라 우분투에서cgroups
그룹을 생성 하려면memlimit
지도 시간질문:분명히
cgcreate
제가 만든 그룹의 UID를 얻을 수 있는 방법은 없습니다.이것을 팔로우했습니다답변: Ubuntu를 사용하여 Ubuntu에
그룹을 만들었습니다 . 에 그룹이 생성되었습니다. 마지막으로 실행되었습니다.groupname
groupadd
memlimit
/etc/cgconfig.conf
/etc/cgrules.conf
@groupname memory memlimit/
sudo cgrulesengd
질문: 오류는 없지만 메모리 제한은 영향을 미치지 않습니다.
답변1
만약에cgroup 통합(cgroup 버전 2)허용되며 관리자 비밀번호가 있습니다. 다음 단계는 Ubuntu에서 작동합니다.18.04(이전 버전의 Ubuntu에 대해서는 잘 모르겠습니다):
systemd.unified_cgroup_hierarchy=1
에 추가GRUB_CMDLINE_LINUX_DEFAULT
하고/etc/default/grub
실행합니다update-grub
.- 다음을 수행하십시오
/etc/systemd/system/user.slice.d/allmemory.conf
[Slice] MemoryHigh=32G
- 리눅스를 다시 시작하세요. 그러면 귀하를 포함한 모든 사용자의 메모리 소비가 32GB로 제한됩니다. 이 제한을 없애려면 다른 쉘을 시작하십시오
systemd-run --scope /bin/bash
. 새로운 bash 쉘은 다른 cgroup에 속하며 메모리에 의해 제어되지 않습니다.