কোনও প্রক্রিয়ার আবাসিক সেট আকার হ'ল মেমরির পরিমাণ যা এটির সাথে সম্পর্কিত এবং বর্তমানে র্যামে উপস্থিত (বাসিন্দা) রয়েছে (আসল র্যাম, অদলবদল করা হয় না বা অন্যথায় আবাসিক নয়)।
উদাহরণস্বরূপ, যদি কোনও প্রক্রিয়া মেমরির একটি অংশ বরাদ্দ করে (100Mb বলুন) এবং এটি সক্রিয়ভাবে ব্যবহার করে (এটি পড়তে / লিখতে), তবে তার আবাসিক সেট আকারটি প্রায় 100Mb (প্লাস ওভারহেড, কোড বিভাগ, ইত্যাদি) হবে। প্রক্রিয়াটির পরে যদি কিছুক্ষণের জন্য সেই স্মৃতিটি ব্যবহার করা (তবে প্রকাশ হয় না) বন্ধ হয়ে যায় তবে ওএস সেই মেমরিটির কিছু অংশকে অদলবদল করতে, অন্য প্রক্রিয়াগুলির জন্য স্থান তৈরি করতে (বা ক্যাশে) বেছে নিতে পারে। তারপরে আবাসিক সেট আকারটি কার্নেলের অদলবদল পরিমাণের দ্বারা হ্রাস পাবে। যদি প্রক্রিয়াটি জেগে ওঠে এবং সেই মেমরিটিকে পুনরায় ব্যবহার শুরু করে, কার্নেলটি অদলবদল থেকে ডেটা পুনরায় লোড করবে এবং আবাসিক সেট আকারটি আবার উপরে উঠবে।
এর ru_maxrss
ক্ষেত্রটি struct rusage
আবাসিক সেট আকারের জন্য "উচ্চ জলের চিহ্ন"। এটি এই প্রক্রিয়াটির জন্য পিক র্যাম ব্যবহারের ইঙ্গিত দেয় (যখন ব্যবহার করবে RUSAGE_SELF
)।
আপনার সিস্টেমে সমস্ত র্যামের "ডুড আপ" না হওয়া এবং অন্যান্য অ্যাপ্লিকেশনগুলিকে অদলবদল করতে বাধ্য করতে (বা স্মৃতি ছাড়িয়ে যাওয়ার শর্তে পুরোপুরি ব্যর্থ হওয়া) এড়াতে আপনি কোনও প্রক্রিয়ার বাসিন্দার সেট আকার সীমাবদ্ধ করতে পারেন।
ru_maxrss
ম্যাক / বিএসডি মেশিনে বাইটে থাকা একটি নোট ।