OSX가 하드 드라이브에 사용 가능한 공간이있는만큼 가상 메모리를 할당하지 못하게하는 방법은 무엇입니까?


4

하드 드라이브가 가상 메모리에서 완전히 사용되어 일부 프로그램이 하드 드라이브의 여유 공간을 처리 할 수 ​​없어서 최근 데이터 손실이 발생했습니다. 이 문제가 발생하지 않도록하려면 어떻게해야합니까 (항상 몇 GB를 버퍼로 유지하는 것 외에)?


1
이 질문의 중복 될 수있다 맥 OS X의 디스크 스왑 파일의 크기를 제한하는 방법이 있나요? (2012-09-19), 답변이 승인되었습니다.
Graham Perrin

답변:


1

완전하지는 않지만 한 가지 방법을 제안 할 수 있습니다.

를 사용하여 프로세스 당 메모리 제한을 설정할 수 있습니다 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>

@bmike 죄송 합니다만 자신의 답변이나 의견에 의견을 올리실 수 없습니까? 나는 당신이 사용하는 톤이 내 것과 맞는지 확실하지 않습니다. 귀중하지만 편집을 취소 할 것을 요청합니다. 내 답변에 대한 의견이나 평범한 답변으로 자유롭게 추가하십시오.
Huygens 2013

수정을 클릭하고 변경 사항을 되 돌리십시오. 사이트가 둘 이상의 게시물 작성자에게 매우 공개되어 있습니다. 내가 제안한 것은 의견 IMO가 아닌 답변 구성 요소이지만, 기분이 좋아지면 단어를 복사하고 내 것을 추가 할 것입니다. 나는 당신이 많은 작업을했고 저자가 당신의 것을 유지하기를 원한다고 생각했지만, 나는 당신의 입장을 그대로두고 두 번째 답변을 추가 할 수 있습니다.
bmike

나는 또한 일부 게시물을 커뮤니티 위키로 설정했다는 것을 알고 있습니다. 그러나 이번에는 답변의 스타일이 너무 다르다는 것을 느꼈고 어색했습니다. 감사합니다. 변경 사항을 되돌릴 수 있음을 발견했습니다! 훌륭한 도구!
Huygens

@Huygens는 약간 혼란 스럽습니다 .GB에서 바이트로 변환 할 때 곱하면 안됩니까?
Francis Laclé

@ FrancisLaclé는 정말로! 네 말이 맞아 답변을 수정하고 수정하겠습니다. 5 년 이상 된 오래된 버그 ;-)
Huygens
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.