답변:
완전하지는 않지만 한 가지 방법을 제안 할 수 있습니다.
를 사용하여 프로세스 당 메모리 제한을 설정할 수 있습니다 launchctl limit
( 매뉴얼 페이지 참조 ). 그러나 이것은 시스템 전체가 아닌 프로세스 당입니다.
실제로는 적은 양의 메모리를 소비하는 프로세스가 거의 없습니다. 따라서 Activity Monitor
출력을보고 어떤 프로세스가 가장 많이 소비되는지 확인하는 것이 좋습니다. RAM의 20 % 이상을 사용하는 것을 계산하십시오. 그러한 프로세스는 몇 개입니까? 이제 가정하자 N 당신이했다고 가정 해요 RAM의 GB를. 최대 스왑 공간을 얼마나 사용 하시겠습니까? 이제 가정하자 의 스왑 GB입니다.
다음 계산을 수행합니다. (m + s - 1) / n = <max memory per process in GB>
GB를 B로 변환하십시오. <max memory per process in GB> * 1024 * 1024 * 1024 = <max mem per proc in B>
이제이 제한을 시도하고 작동하는지 확인하십시오 (다시 부팅 한 후에는이 설정이 손실되므로 수행하기에 "안전"합니다).
sudo launchctl limit rss <max mem per proc in B> <max mem per proc in B + 1073741824>
이 선택에 만족하면 저장할 수 있으므로 영구적입니다. 파일을 편집 /etc/launchd.conf
하고 다음을 추가하십시오.
limit rss <max mem per proc in B> <max mem per proc in B + 1073741824>