স্মৃতি ফাঁস করার প্রক্রিয়াগুলির সাথে আমার সমস্যা আছে। এগুলির ফলে আমার হার্ড ড্রাইভটি অদলবদলের ফাইলগুলিতে পূর্ণ হতে পারে /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
আউটপুট (জেডএসএইচ):
% 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
এটি কেবল মনে হয় যে নথিভুক্ত মেমরি সীমাবদ্ধতার কোনও পদ্ধতিই আসলে কাজ করে না। এমন কোনও অতিরিক্ত ব্যবস্থা আছে যা আমি মিস করেছি?