메모리 누수 프로세스에 문제가 있습니다. 이로 인해 내 하드 드라이브가에 스왑 파일로 채워집니다 /private/var/vm
.
OS에 의해 누출 프로세스가 보이지 않게 종료되고 싶습니다 . 나는 20 분 후에 나타나는 대화 상자에 관심이 없으며 응용 프로그램을 죽일 것을 제안하고 누출되는 대화 상자를 표시하지 않습니다.
rss
과 data
한계를 설정하려고 시도했지만 /etc/launchd.conf
효과가없는 것 같습니다.
이것은 내 /etc/launchd.conf
:
limit data 8589934592 8589934592
limit rss 8589934592 8589934592
launchctl limit
출력 은 다음과 같습니다 .
% launchctl limit
cpu unlimited unlimited
filesize unlimited unlimited
data 8589934592 8589934592
stack 8388608 67104768
core 0 unlimited
rss 8589934592 8589934592
memlock unlimited unlimited
maxproc 709 1064
maxfiles 256 unlimited
이것은 내 .zshrc
:
ulimit -t 600
ulimit -d 512000
ulimit -v 1024000
그리고 ulimit -a
출력 (ZSH) :
% ulimit -a
-t: cpu time (seconds) 600
-f: file size (blocks) unlimited
-d: data seg size (kbytes) 512000
-s: stack size (kbytes) 8192
-c: core file size (blocks) 0
-v: address space (kb) 1000
-l: locked-in-memory size (kb) unlimited
-u: processes 709
-n: file descriptors 256
그러나 여기 top
프로세스에 대한 정보가 있습니다.
PID COMMAND %CPU TIME #TH #WQ #POR #MRE RPRVT RSHRD RSIZE VPRVT VSIZE PGRP PPID
886 process 30.8 01:16.40 1/1 0 17 332 2259M+ 184K 2072M- 19G+ 38G 882 885
문서화 된 메모리 제한 방법 중 실제로는 작동하지 않는 것 같습니다. 내가 놓친 추가 메커니즘이 있습니까?