मुझे मेमोरी को लीक करने वाली प्रक्रियाओं के साथ समस्या है। वे मेरी हार्ड ड्राइव को स्वैप फाइलों में भर देते हैं /private/var/vm
।
मैं ओएस द्वारा दृष्टि से मारे जाने वाली प्रक्रियाओं को लीक करना चाहूंगा । मुझे 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
ऐसा लगता है कि प्रलेखित स्मृति सीमा विधियों में से कोई भी वास्तव में काम नहीं करता है। क्या कोई अतिरिक्त तंत्र है जो मुझे याद हो सकता है?