একটি একক প্রক্রিয়ার রিসোর্সকে সীমাবদ্ধ করা সম্পর্কে প্রচুর প্রশ্নোত্তর রয়েছে, যেমন RLIMIT_AS এমন একটি প্রক্রিয়া দ্বারা বরাদ্দ করা সর্বাধিক স্মৃতি সীমাবদ্ধ করতে ব্যবহার করা যেতে পারে যা পছন্দ মতো ভিআরটি হিসাবে দেখা যায় top
। বিষয়টিতে আরও উদাহরণস্বরূপ , ইউনিক্সে কোনও বিশেষ প্রক্রিয়া ব্যবহার করতে পারে এমন মেমোরির পরিমাণ সীমিত করার কোনও উপায় কি?
setrlimit(2)
ডকুমেন্টেশন বলে:
কাঁটাচামচ (2) এর মাধ্যমে তৈরি একটি শিশু প্রক্রিয়া তার পিতামাতার সম্পদের সীমা উত্তরাধিকার সূত্রে পায়। সম্পদ সীমা নির্বাহ (2) জুড়ে সংরক্ষণ করা হয়।
এটি নিম্নলিখিত উপায়ে বোঝা উচিত:
যদি কোনও প্রক্রিয়াতে যেমন 2 গিগাবাইটের একটি RLIMIT_AS থাকে, তবে এটি 2GB এর চেয়ে বেশি মেমরি বরাদ্দ করতে পারে না। এটি যখন কোনও শিশুকে প্রসারণ করে, 2 জিবি ঠিকানার স্থানের সীমাটি সন্তানের কাছে চলে যায় তবে গণনা 0 থেকে শুরু হয় The 2 টি প্রক্রিয়া একসাথে 4 গিগাবাইট পর্যন্ত মেমরি নিতে পারে।
তবে প্রক্রিয়াগুলির একটি সম্পূর্ণ গাছ দ্বারা বরাদ্দকৃত মোট মেমরির সীমাবদ্ধ করার কার্যকর উপায় কী হবে?