Vm.overcommit_ratio এর অবশিষ্ট স্মৃতি কোথায় যায়?


10

যদি আমি সেটিং দ্বারা অক্ষম মেমরির overcommit vm.overcommit_memoryকরতে 2, ডিফল্ট অনুসারে সিস্টেম swap 'র শারীরিক মেমরি + + 50% মাত্রা মেমরি আপ বরাদ্দ করা, অনুমতি দেবে যেমন ব্যাখ্যা করেছেন এখানে

আমি vm.overcommit_ratioপ্যারামিটার পরিবর্তন করে অনুপাত পরিবর্তন করতে পারি । ধরা যাক আমি এটি 80% এ সেট করেছি, সুতরাং 80% শারীরিক মেমরি ব্যবহার করা যেতে পারে।

আমার প্রশ্ন হ'ল:

  • বাকি ২০% সিস্টেম কী করবে?
  • এই পরামিতিটি কেন প্রথমে প্রয়োজন?
  • আমার কেন সবসময় এটি 100% এ সেট করা উচিত নয়?

উত্তর:


6

বাকি 20% সিস্টেমটি কী করবে?

কার্নেল অবশিষ্ট শারীরিক স্মৃতি তার নিজস্ব উদ্দেশ্যে (অভ্যন্তরীণ কাঠামো, টেবিল, বাফারস, ক্যাশে, যাই হোক না কেন) ব্যবহার করবে। মেমরি ওভার কমমিটমেন্ট সেটিং হ্যান্ডেল করে ইউজারল্যান্ড অ্যাপ্লিকেশন ভার্চুয়াল মেমরি রিজার্ভেশন, কার্নেলটি ভার্চুয়াল মেমরি ব্যবহার করে না তবে শারীরিক ব্যবহার করে।

এই প্যারামিটারটি কেন প্রথমে প্রয়োজন?

overcommit_ratioপরামিতি যখন তারা আসলে মেমরি (বা অন্তত চেষ্টা) অ্যাক্সেস কি যুক্তিসঙ্গতভাবে ভবিষ্যতে অর্থাত তাদের জন্য উপলব্ধ করা হবে চেয়ে বেশি ভার্চুয়াল মেমরি রিজার্ভ করতে অ্যাপ্লিকেশনের প্রতিরোধ করার জন্য ডিজাইন করা একটি বাস্তবায়ন পছন্দ।

overcommit_ratioলিনাক্স কার্নেল বিকাশকারীরা 50% নির্ধারণকে যুক্তিসঙ্গত ডিফল্ট মান হিসাবে বিবেচনা করেছেন। এটি ধরে নিয়েছে যে কার্নেলকে কখনই শারীরিক র্যামের 50% এর বেশি ব্যবহার করার প্রয়োজন হবে না। আপনার মাইলেজটি পরিবর্তিত হতে পারে, কারণ এটি টিউনযোগ্য।

আমার কেন সবসময় এটি 100% এ সেট করা উচিত নয়?

এটিকে 100% (বা কোনও "খুব উচ্চ" মান) নির্ধারণ করা নির্ভরযোগ্যভাবে অতিরিক্ত কমিটিকে অক্ষম করে না কারণ আপনি ধার্য করতে পারবেন না যে কার্নেলটি 0% (বা খুব কম) র‌্যাম ব্যবহার করবে।

এটি অ্যাপ্লিকেশনগুলিকে ক্রাশ হতে আটকাবে না কারণ কার্নেল যে কোনও ভাবেই এটি দাবি করতে পারে সমস্ত শারীরিক মেমরিকে ছাড়িয়ে যেতে পারে।


যদি কার্নেল যেভাবেই এটির প্রয়োজন সমস্ত স্মৃতি গ্রহণ করতে পারে তবে এই পরামিতিটি প্রকাশ করার (বা এমনকি এটি তৈরি করার) কী দরকার?
ড্যান তুমাইকিন

এমন কোন অফিসিয়াল ডকুমেন্ট আছে যেখানে এই পরামিতিগুলি বিশদভাবে ব্যাখ্যা করা আছে? এছাড়া kernel.org/doc/Documentation/vm/overcommit-accounting - কার্নেল মেমরি কোন রেফারেন্স আছে অনুপস্থিত।
ড্যান তুমাইকিন

1
"মোট ঠিকানা স্পেস কমিট" উল্লেখ করার সময় কোনটি সঠিকভাবে বিবেচনা করা হয় সে সম্পর্কে পর্যাপ্ত বিবরণ দিয়ে ডকুমেন্টেশন পাইনি found আপনি যে দস্তাবেজটি রাজ্যগুলির সাথে একটি লিঙ্ক সরবরাহ করেছেন তা "বেশিরভাগ পরিস্থিতিতে এর অর্থ একটি প্রক্রিয়া মারা যাবেনা ..." তবে কিছু স্মৃতি অন্য কোথাও ব্যবহার করা যেতে পারে তা নিশ্চিত করার পক্ষে যথেষ্ট এবং এই স্মৃতিটির স্পষ্ট গ্রাহক হ'ল কর্নেল।
jlliagre

2

অনুপাতটি ১০০% এ সেট করা ফাইল-ব্যাকড পৃষ্ঠাগুলি, বা কার্নেল কোড, নেটওয়ার্ক বাফার ইত্যাদির মতো ইন-কার্নেল বরাদ্দের কোনও স্থান সংরক্ষণ করবে না ratio

কার্নেল কাঠামো নির্বিশেষে বরাদ্দ করা হবে, অতিরিক্ত কমিট সৃষ্টি করবে com এগুলি সাধারণত স্বতন্ত্রভাবে সীমাবদ্ধ থাকে (যেমন নেটওয়ার্ক বাফারগুলির জন্য একটি সেটিংস রয়েছে)। আমি মনে করি না 50% সামগ্রিক সীমা আছে, যদিও সামগ্রিক সীমা এমন কিছু যা কন্টেইনার হোস্টিংয়ের উদ্দেশ্যে কাজ করা হয়েছিল।

ফাইল-ব্যাকযুক্ত পৃষ্ঠাগুলি যেখানে আপনি সাধারণত ইউজারস্পেস কোড চালনা করেন তাই এর জন্য আপনারও স্থান প্রয়োজন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.