cgroups

메모리가 부족할 때 cgroup v2의 프로세스 종료 순서는 무엇입니까?
cgroups

메모리가 부족할 때 cgroup v2의 프로세스 종료 순서는 무엇입니까?

저는 Ubuntu 22.04에서 cgroup v2를 사용하여 그룹의 사용자를 제한하고 있습니다. 메모리 부족(OOM)이 발생했을 때 프로세스를 종료하는 방법을 알고 싶습니다. 예를 들어: 컴퓨터에는 100G 메모리가 있습니다. A, B, C, D라는 4명의 사용자로 구성된 그룹이 있습니다. 이 그룹의 메모리 제한은 80G입니다. 즉, 4명의 사용자 모두가 80G를 초과할 수 없습니다. 먼저, 사용자 A는 50G 메모리를 사용하여 프로그램(프로세스 a)을 실행합니다. 잠시 후 B는 20G(b)를 사용하...

Admin

Hubetlb 컨트롤러는 어디에서 자동으로 활성화됩니까?
cgroups

Hubetlb 컨트롤러는 어디에서 자동으로 활성화됩니까?

Ubuntu 22.04 cgroup2 시스템의 kvm 가상 머신(8 vcpu + 8G 메모리), cat /sys/fs/cgroup/cgroup.subtree_control hugetlb controller included; 그러나 cgroup2 시스템을 갖춘 Ubuntu 22.04의 또 다른 kvm 가상 머신(4 vcpu + 4G 메모리), cat /sys/fs/cgroup/cgroup.controllers cpuset cpu io memory hugetlb pids rdma misc cat /sy...

Admin

Ubuntu 22.04에서 Slurm cgroups 플러그인 문제 해결
cgroups

Ubuntu 22.04에서 Slurm cgroups 플러그인 문제 해결

나는 직면하고있다도전적인 질문그리고Slurm cgroups 플러그인Ubuntu 22.04를 실행하는 시스템에서. 우리는 Slurm을 비교적 처음 접했으며 복잡한 컴퓨팅 작업에서 리소스를 더 잘 관리하기 위해 Slurm을 사용하기 시작했습니다. 그러나 특히 Ubuntu 22.04 노드에서 cgroups 플러그인에 문제가 발생했습니다. 우리가 겪고 있는 상황은 다음과 같습니다. 처음에는 노드(2개는 Ubuntu 22.04를 사용하고 하나는 Ubuntu 18.04를 사용)에서 cgroups V2 플러그인...

Admin

오렌지필 제로 2w. 데비안 12가 설치되었습니다. 부팅 시 커널 매개변수를 전달하는 방법은 무엇입니까?
cgroups

오렌지필 제로 2w. 데비안 12가 설치되었습니다. 부팅 시 커널 매개변수를 전달하는 방법은 무엇입니까?

Orangepi Zero 2w micro에 설치된 debian 12에 Home Assistant를 설치하려고 합니다. 홈어시스턴트는 cgroups v1 사용을 고집합니다. 그러나 데비안 12는 cgroups v2를 지원합니다. 도커 문서cgroups v1로 전환할 수 있다고 말합니다: cgroup 버전을 v1로 되돌리려면 systemd.unified_cgroup_hierarchy=0을 설정해야 합니다. 그래서 제가 이해한 바는 부팅 시 이 명령을 커널에 전달해야 한다는 것입니다. 명령을 실행 or...

Admin

CentOS systemd는 `user.slice`(`system.slice` 대신)에 `sudo`로 시작된 서비스 하위 프로세스를 배치합니다.
cgroups

CentOS systemd는 `user.slice`(`system.slice` 대신)에 `sudo`로 시작된 서비스 하위 프로세스를 배치합니다.

systemd 서비스를 사용하여 생성된 하위 프로세스는 sudo에 배치됩니다 user.slice. 이 동작은 CentOS 8(x86_64 20230606)에서만 관찰되며 해당 하위 프로세스가 배치되는 Ubuntu 20.04.5 LTS에서는 관찰되지 않습니다 system.slice. 이는 주요 서비스 프로세스가 다른 cgroup에 있고 생성된 하위 프로세스가 sudo다른 cgroup에 있게 되므로 큰 문제입니다. 따라서 systemctl stop서비스를 호출하면 생성된 하위 프로세스가 아닌 기본 서비스...

Admin

시스템 리소스 제어 - IOWriteIOPSMax가 작동하지 않습니까?
cgroups

시스템 리소스 제어 - IOWriteIOPSMax가 작동하지 않습니까?

IO를 특정 단위로 제한하려고 하는데 IOWriteIOPSMax 속성이 아무런 효과가 없는 것 같습니다. 처음에 IOWeight를 시도했지만 테스트하기가 더 어려웠고 IOPSMax에 대한 문서에서는 이것이 순수한 제한 사항이라고 제안했습니다. 팝업 운영 체제, systemd 249, cgroupv2 기본적으로 실행 user@x1:~/tmp$ systemd-run --user --same-dir --pipe --wait \ dd status=progress if=/dev/zero of=loadfile ...

Admin

cgroups: 시간 할당량을 특정 CPU 코어로 제한할 수 있습니까?
cgroups

cgroups: 시간 할당량을 특정 CPU 코어로 제한할 수 있습니까?

내가 읽은 매뉴얼 페이지에 따르면 전체 CPU를 25%로 제한하면서 특정 코어를 50%로 제한하는 것은 불가능합니다. 유일한 옵션은 코어 세트와 총 프로세서 시간 할당량을 제한하는 것입니다. 컨트롤러를 AND와 결합하는 방법은 없습니다(제가 아는 한 cgroup에는 OR 제한이 없습니다). 하지만 트릭이 있을까요? 잠재적인 도구는 cgroups. ...

Admin

Redhat 9 또는 Amazon Linux 2에서 cgroup 메모리 제한을 변경하는 방법은 무엇입니까?
cgroups

Redhat 9 또는 Amazon Linux 2에서 cgroup 메모리 제한을 변경하는 방법은 무엇입니까?

실행하는 데 16GB의 RAM과 시작되는 일부 프로세스에 대한 추가 메모리가 필요한 도커 컨테이너가 있습니다. 머신의 메모리 소비는 전체 메모리(64GB)의 60~70%인 것 같습니다. 그러나 cgroup이 시점에서 프로세스가 종료되는 것으로 보입니다. Memory cgroup out of memory: Killed process 2552559 (wi) total-vm:75308048kB, anon-rss:16499856kB, file-rss:2192kB,shmem-rss:83876kB, UID:0 ...

Admin

생성된 그룹의 cgroup 파일이 하루 후에 사라지는 것 같습니다(중지 포함).
cgroups

생성된 그룹의 cgroup 파일이 하루 후에 사라지는 것 같습니다(중지 포함).

cgoups나는 최근에 ( cgreate -g cpu:gr1// ) cgset -r cpu.max를 정기적으로 사용하기 시작했습니다 cgexec. cgroup을 생성하고 위 명령을 실행한 후 하루나 이틀 후에(Linux 시스템의 다른 작업은 다시 시작되지 않았지만 일시 중지하고 다시 시작할 수 있음) 동일한 명령을 반복하고 싶었지만 여러 번 발견했습니다. "cgroup 변경됨" 실패"라고 표시되고 /sys/fs그룹에 .cgroup이라는 파일이 없는 것으로 나타났습니다 cpu.max. 웹 검색을 해보니...

Admin

Linux의 프로세스에 적용된 모든 cgroup을 쿼리하기 위한 API
cgroups

Linux의 프로세스에 적용된 모든 cgroup을 쿼리하기 위한 API

저는 자체 최대 액세스 가능 메모리를 알아야 하는 일부 소프트웨어를 개발 중입니다. Linux에서는 cgroup에 따라 다릅니다. 제가 수집한 바에 따르면 프로세스는 /proc/self/cgroup현재 메모리 cgroup 중 하나를 읽어 자신의 메모리 cgroup을 결정할 수 있습니다. 그러나 실제로는 cgroup 계층 구조가 있으며 프로세스는 모든 cgroup에 의해 제한됩니다. 현재 프로세스의 모든 cgroup에 적용되는 최소 여유 메모리를 결정하는 방법은 무엇입니까? 예를 들어 Slurm을 사용...

Admin

systemd-run을 사용한 프로세스 메모리 사용량 제한이 예상대로 작동하지 않습니다.
cgroups

systemd-run을 사용한 프로세스 메모리 사용량 제한이 예상대로 작동하지 않습니다.

다음을 사용하여 systemd-run을 시작하여 Chrome의 메모리 사용량을 제한하려고 합니다. systemd-run --scope \ -p MemoryMax=16G \ -p MemoryHigh=15G \ -p CPUWeight=70 \ -p StartupCPUWeight=100 \ /opt/google/chrome/chrome 그러나 이것은 내 메모리의 32GB를 모두 채우고 시스템 충돌을 일으키는 것을 볼 수 있기 때문에 실제로 작동하지 않는 것 같습니다. Systemd가 실...

Admin

하위 스레드가 상위 스레드의 cgroup에 자동으로 들어가는 것을 방지하는 방법이 있습니까?
cgroups

하위 스레드가 상위 스레드의 cgroup에 자동으로 들어가는 것을 방지하는 방법이 있습니까?

나는 내가 만든 Linux cgroup에 애플리케이션 스레드 중 일부를 명시적으로 작성합니다. cpu예를 들어 지금은 v1에 대해 이야기하지만 v2에 대한 방법을 알고 있다면 좋을 것입니다. 그러나 하위 스레드( pthread_create()상위 스레드의 호출로 생성되거나 cgroup에 명시적으로 기록되거나 상위 스레드 다음에 다시 작성된 스레드)도 직접 작성하지 않고도 cgroup에 나타나는 것을 볼 수 있습니다. 이는 애플리케이션에 나쁜 영향을 미칠 수 있습니다. 일부 스레드가 예기치 않게 cgr...

Admin

Ubuntu의 cgroup-v2에서 루트가 아닌 권한으로 cgroup.procs에 PID를 추가하는 방법
cgroups

Ubuntu의 cgroup-v2에서 루트가 아닌 권한으로 cgroup.procs에 PID를 추가하는 방법

에서 cgroup을 만들었습니다 /sys/fs/cgroup. 전화했는데 루트가 아닌 사용자가 제어 testGrp해야 했기 때문에 전체 cgroup 디렉토리의 소유권을 변경했습니다.cgroup /sys/fs/cgroup$ sudo chown -R normUser testGrp/ testGrp내부의 모든 파일이 새 사용자의 소유인지 확인했으며 normUser이 사용자는 실제로 일반 업데이트처럼 컨트롤러 파일을 변경할 수 io.max있지만 cgroup.procs. /sys/fs/cgroup/testGrp...

Admin

컨테이너 사이의 cgroup
cgroups

컨테이너 사이의 cgroup

프로세스를 계층 구조 아래의 새 cgroup으로 이동한 후 프로세스를 다시 원래 cgroup으로 이동하는 방법을 찾으려고 합니다. 상황은 k8s 클러스터입니다. 노드(컨테이너)에 포드가 있고 동일한 IPC를 공유하는 임시 컨테이너를 실행하고 있으며 권한이 있습니다. 난 할 수 있어 mkdir /sys/fs/cgroup/newone echo 1 > /sys/fs/cgroup/newone/cgroup.procs (1 = pid 네임스페이스를 공유하기 때문에 pod의 프로세스) 하지만 이 작업을 시...

Admin

메모리 제한이 설정되지 않은 경우 cgroups v2를 사용하여 메모리 부족 이벤트 수신
cgroups

메모리 제한이 설정되지 않은 경우 cgroups v2를 사용하여 메모리 부족 이벤트 수신

cgroups v1을 사용하면 메모리 부족과 관련된 이벤트를 수신할 수 있습니다. ~에 따르면문서, 필요 새로 만들기eventfd memory.pressure_level읽기용으로 열림 공개 cgroup.event_control글쓰기 {eventfd} {pressure_level_fd} {level}( level, low또는 medium) critical에 쓰기event_control eventfd에서 읽은 내용에서 8바이트가 반환될 때까지 기다립니다. 메모리가 부족해지기 직전인 프로그램에 이 작업...

Admin