사용자 프로그램에 의한 리소스 격리를 위한 systemd와 cgroup?

사용자 프로그램에 의한 리소스 격리를 위한 systemd와 cgroup?

환경: 쿠분투 데스크탑 17.10.1

즉각적인 목표: chrome최대 메모리 소비를 제한하는 방식으로 실행됩니다.

현재 해결 방법: 다음을 넣었습니다 /usr/local/bin/cchrome.

#!/bin/sh
sudo mkdir -p /sys/fs/cgroup/memory/chrome
sudo chown -R ji /sys/fs/cgroup/memory/chrome
echo 8G > /sys/fs/cgroup/memory/chrome/memory.limit_in_bytes
exec cgexec -g memory:chrome google-chrome

그런 다음 응용 프로그램 메뉴를 편집하여 cchrome이라는 항목을 만들었는데 정말 훌륭했습니다! 게으르지 않았다면 시작 시 cgroup을 생성하여 스크립트에서 sudo를 호출할 필요가 없었을 것입니다.

이것은 작동하지만 추악합니다. TFM( man cgrules.conf및 ) 에 따르면 man cgconfig.confChrome이 시작될 때 자체 cgroup에서 실행되도록 설정할 수 있어야 합니다. 그러나 이러한 파일은 17.10 데스크톱 또는 16.04 LTS 서버에는 존재하지 않습니다. AIUI, systemd는 자체 cgroup 관리를 수행합니다.

나는 이 작업을 수행하는 방법에 대한 문서를 찾을 수 없었으며 주제에 대한 모든 Google 검색은 일부 해결 방법에 관한 것, 작동하지 않거나 다른 Linux 배포판에 대한 것입니다.

관련 정보