일회성 cgroup 생성

일회성 cgroup 생성

계층구조에 일회성 임시 그룹을 생성하고 싶습니다. 예를 들어:

#!/bin/sh
run_with_csubgroup /sys/fs/cgroup/group/subgroup/

그룹을 생성하는 것은 다음과 같습니다 /sys/fs/cgroup/group/subgroup/5G7ds/(5G7ds는 일회성 이름이며 ID 등일 수 있음).

그룹을 자동으로 삭제하고 싶지만 쉽게 수행하는 방법을 모르고 TERM 신호(actidental에서 C-c)를 말하는 경향이 있습니다.

그것을 할 수 있는 방법이 있나요? 젠투+systemd를 사용하고 있습니다.

답변1

를 통해 명령을 실행할 수 있습니다 systemd-run --scope. 그러면 명령에 대한 임시(즉, 임시) cgroup이 생성됩니다. 그런 다음 필요에 따라 cgroup을 수정할 수 있습니다. systemd-cgls아래의 cgroup 계층 구조에서 프로세스를 찾는 데 사용됩니다 /sys/fs/cgroup.

에 따르면systemd-run 맨페이지

systemd-run은 임시 .service, 임시 .timer 또는 .scope 단위를 생성 및 시작하고 그 안에 지정된 COMMAND를 실행하는 데 사용될 수 있습니다.

systemd-run플래그를 사용하여 명령을 통해 장치에 대한 제한 사항을 지정할 수도 있습니다 --property(두 번 이상 허용됨). 사용 가능한 속성에 대해서는 다음을 통해 확인할 수 있습니다.sytemd.resource-control 맨페이지.

나중에 속성을 설정하려면 를 사용할 수 있습니다 systemd set-property.

--unit=yourname쉽게 접근할 수 있도록 깃발 과 함께 유닛의 이름을 제공하는 것이 좋습니다 .

에 관한 아주 좋은 글이 있습니다.새로운 제어 그룹 인터페이스, 강력히 추천합니다. 또한,Red Hat Enterprise Linux 7 리소스 관리 및 Linux 컨테이너 가이드systemd에서 cgroup을 사용하는 방법에 대한 매우 명확한 설명을 제공합니다.

답변2

그룹의 특정 수명을 지정해야 할 수도 있습니다. 컴퓨터를 시작한 후에는 활성화하고 종료 후에는 삭제할 수 있습니다. 따라서 이를 스크립트에 추가하는 것은 나쁜 생각이 아닙니다 /etc/rc.

답변3

내가 정확하게 이해했는지는 모르겠지만 다음과 같이 할 수는 없나요?

~] umount /sys/fs/cgroup/group/subgroup/5G7ds/
~] rmdir /sys/fs/cgroup/group/subgroup/5G7ds/

위의 내용은 cgroup을 마운트 해제하고 제거합니다.

관련 정보