ฉันมีปัญหากับกระบวนการที่ทำให้หน่วยความจำรั่ว /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
ดูเหมือนว่าไม่มีวิธีการ จำกัด หน่วยความจำที่ทำเป็นเอกสารจริงๆ มีกลไกเพิ่มเติมที่ฉันอาจพลาดหรือไม่?