Ubuntu 시스템의 사용자 그룹으로 RAM을 제한합니다.

Ubuntu 시스템의 사용자 그룹으로 RAM을 제한합니다.

GPU 기반 시스템이 있습니다. 여러 사용자가 시스템을 사용하므로 RAM이 완전히 활용되어 메모리가 남지 않는 경우가 많습니다. 나를 제외한 모든 사용자에 대해 최대 RAM 제한을 설정하고 싶습니다. 나는 다음을 시도했습니다 :

  1. Ubuntu에서 그룹 만들기를 사용하세요 groupadd.
    포인트 3.1에 따라 우분투에서 cgroups그룹을 생성 하려면memlimit지도 시간

    질문:분명히 cgcreate제가 만든 그룹의 UID를 얻을 수 있는 방법은 없습니다.

  2. 이것을 팔로우했습니다답변: Ubuntu를 사용하여 Ubuntu에
    그룹을 만들었습니다 . 에 그룹이 생성되었습니다. 마지막으로 실행되었습니다.groupnamegroupadd
    memlimit/etc/cgconfig.conf
    /etc/cgrules.conf@groupname memory memlimit/
    sudo cgrulesengd

    질문: 오류는 없지만 메모리 제한은 영향을 미치지 않습니다.

답변1

만약에cgroup 통합(cgroup 버전 2)허용되며 관리자 비밀번호가 있습니다. 다음 단계는 Ubuntu에서 작동합니다.18.04(이전 버전의 Ubuntu에 대해서는 잘 모르겠습니다):

  1. systemd.unified_cgroup_hierarchy=1에 추가 GRUB_CMDLINE_LINUX_DEFAULT하고 /etc/default/grub실행합니다 update-grub.
  2. 다음을 수행하십시오/etc/systemd/system/user.slice.d/allmemory.conf

[Slice] MemoryHigh=32G

  1. 리눅스를 다시 시작하세요. 그러면 귀하를 포함한 모든 사용자의 메모리 소비가 32GB로 제한됩니다. 이 제한을 없애려면 다른 쉘을 시작하십시오 systemd-run --scope /bin/bash. 새로운 bash 쉘은 다른 cgroup에 속하며 메모리에 의해 제어되지 않습니다.

관련 정보