프로세스의 메모리 사용량을 제한하고 모든 하위 프로세스를 무시해야 합니다. 어떻게 해야 하나요? cgroup을 사용하는 것이 선호되지만 필수는 아닙니다.
참고: 현재의 모든 내용을 무시하고 싶습니다.미래프로세스의 하위 프로세스입니다. 한계를 벗어날 수 있다는 것을 알고 있지만 그것이 바로 나에게 필요한 것입니다.
답변1
내 경우에는 prlimit --as=<virtual memory in bytes>
도움이되었습니다 . (가상 메모리는 까다롭기 때문에) 항상 올바르게 작동하는 것은 아니므로 주의해서 사용하세요. 소프트 제한을 설정할 수도 있습니다.prlimit --as=<limit>:
예:
2GB의 가상 메모리 제한(소프트 및 하드 제한)으로 프로세스를 시작합니다.
prlimit --as=2147483648 -- process --with args
2GB의 가상 메모리 제한으로 프로세스 시작(소프트 제한만 해당)
prlimit --as=2147483648: -- process --with args
2GB의 가상 메모리 제한으로 프로세스 시작(하드 제한만 해당)
prlimit --as=:2147483648 -- process --with args
기존 프로세스를 2GB 가상 메모리로 제한
prlimit --as=2147483648 --pid=<process pid>
현재 셸의 가상 메모리를 2GB로 제한합니다.
prlimit --as=2147483648 --pid=$$