프로세스가 사용할 수있는 가상 메모리의 양을 제한하지 않고 사용할 수있는 실제 메모리의 양을 제한하고 싶습니다. 나는 메모리 압력 하에서 다양한 알고리즘의 동작을 측정하기 위해이 작업을 수행하고 있으며, 사용 가능한 많은 양의 실제 메모리를 사용하여 성능을 테스트해야한다. 그래서 나는 많은 모호한 크기의 메모리를 필요로한다. 또는 어떤 방식 으로든 프로세스의 상주 메모리를 지원하는 운영 체제가 필요합니다.상주 메모리 사용 제한
불행히도 Linux는 setrlimit(RLIMIT_RSS, ...)
을 존중하지 않으며 OSX도 준수하지 않습니다. [1] 이 작업을 수행 할 수있는 운영 체제를 추천 해 주시겠습니까? OSX가 아닌 모든 BSD? Solaris에서이 작업을 수행 할 수있는 메커니즘이 있습니까? 어떤 종류의 Windows에서이 작업을 수행 할 수 있습니까?
[1] Linux는 요청을 완전히 무시하고 OSX는이를 사용하여 실제 메모리가 모두 소모되었을 때 먼저 교체 할 대상을 결정합니다. 둘 다 메모리의 X Megs 만 사용할 수있는 경우 알고리즘의 동작을 분석하는 데 도움이되지 않습니다. Linux는 커널에서이 작업을 수행 할 수있는 메커니즘이 없으므로 다른 사람이 커널 포크를 사용하도록 설정하지 않으면 완전히 완전히 종료됩니다. 솔라리스에는 setrlimit()
에 대한 옵션조차 없지만, 내가 알지 못하는 또 다른 방법이있을 수 있습니다.
아마도 가상화가 여기에 대한 답변입니까? –