অদলবদল ডিফল্টরূপে 60 এ সেট করা হয় কেন?


109

আমি কেবল লিনাক্সে অদলবদল সম্পর্কে কিছু জিনিস পড়েছি। ডিফল্ট 60 এ সেট করা কেন আমি বুঝতে পারি না।

আমার মতে অদলবদল কমাতে এই প্যারামিটারটি 10 ​​তে সেট করা উচিত। অদলবদু আমার হার্ড ড্রাইভগুলিতে রয়েছে তাই এটি আমাদের স্মৃতি থেকে আমাদের তুলনায় অনেক ধীর।

তারা কেন এর মতো কার্নেলটি কনফিগার করেছিল?


2
@Mat দেখুন এই কিভাবে swappiness মাপকাঠিতে না করার জন্য।
জেরেমিয়া

উত্তর:


133

কার্নেল ২.6.২৮ থেকে লিনাক্স একটি স্প্লিট লেস্ট সম্প্রতি ব্যবহৃত (এলআরইউ) পৃষ্ঠা প্রতিস্থাপন কৌশল ব্যবহার করে। একটি ফাইল সিস্টেম উত্স সহ পৃষ্ঠা, যেমন প্রোগ্রাম পাঠ্য বা ভাগ করা লাইব্রেরিগুলি ফাইল ক্যাশে অন্তর্ভুক্ত। ফাইল সিস্টেম ব্যাক ছাড়াই পৃষ্ঠাগুলিকে অজ্ঞাতনামা পৃষ্ঠাগুলি বলা হয়, এবং রানটাইম ডেটা যেমন অ্যাপ্লিকেশনগুলির জন্য সংরক্ষিত স্ট্যাক স্পেস থাকে etc. । যেহেতু বেনাম পৃষ্ঠাগুলিতে কোনও ফাইল সিস্টেমের ব্যাকিং নেই, সেগুলিতে স্ট্যাপের জন্য অদলবদল না থাকলে প্রোগ্রামের প্রয়োজন যতক্ষণ না তাদের মেমোরিতে থাকতে হবে।

এটি একটি সাধারণ ভুল ধারণা যে একটি অদলবদল বিভাজন আপনার সিস্টেমকে একরকমভাবে কমিয়ে দেবে। অদলবদল পার্টিশন না থাকার অর্থ এই নয় যে কার্নেলটি মেমরি থেকে পৃষ্ঠাগুলি উচ্ছেদ করবে না, এর অর্থ হ'ল পৃষ্ঠাগুলি উচ্ছেদ করার ক্ষেত্রে কার্নেলের কম পছন্দ রয়েছে। যে পরিমাণ অদলবদল পাওয়া যায় তা এটি কতটা ব্যবহার করে তা প্রভাবিত করবে না।

লিনাক্স অদলবদল অভাবের সাথে লড়াই করতে পারে কারণ, ডিফল্টরূপে, কার্নেল মেমরি অ্যাকাউন্টিং নীতি মেমরিকে কমিয়ে দিতে পারে । Downside হয় যে, যখন প্রকৃত মেমরি ক্লান্ত, এবং কার্নেল ডিস্কে বেনামী পৃষ্ঠাগুলি স্যোয়াপ করবেন পারে, আউট-অফ-মেমরি হত্যাকারী প্রক্রিয়া মেমরি নুড়ি 'দুর্বৃত্ত' প্রসেস বন্ধ হত্যা শুরু হবে জন্য মেমরি মুক্ত করতে (হলে OOM kills-হত্যাকারী) অন্যান্য প্রক্রিয়া

vm.swappinessবিকল্প একটি পরিবর্তক যে বেনামী পৃষ্ঠাগুলি পক্ষে ফাইল ক্যাশে পৃষ্ঠাগুলি সোয়াপিং মধ্যে ভারসাম্য পরিবর্তন হয়। ফাইল ক্যাশে 200 কে একটি নির্বিচার অগ্রাধিকার মান দেওয়া হয় যা থেকে vm.swappinessসংশোধক কেটে নেওয়া হয় ( file_prio=200-vm.swappiness)। অজ্ঞাতনামা পৃষ্ঠাগুলি, ডিফল্টরূপে, 60 ( anon_prio=vm.swappiness) দিয়ে শুরু হয় । এর অর্থ হ'ল, ডিফল্টরূপে, অগ্রাধিকারের ওজনগুলি বেনামি পৃষ্ঠাগুলির ( anon_prio=60, file_prio=200-60=140) পক্ষে মাঝারিভাবে দাঁড়ায় । আচরণটি mm/vmscan.cকার্নেল উত্স ট্রিতে সংজ্ঞায়িত করা হয় ।

একটি প্রদত্ত vm.swappinessএর 100, অগ্রাধিকার সমান হবে ( file_prio=200-100=100, anon_prio=100)। এটি আই / ও ভারী সিস্টেমের জন্য অর্থবহ হবে যদি এটি না চান যে ফাইল ক্যাশে থেকে পৃষ্ঠাগুলি বেনামি পৃষ্ঠাগুলির পক্ষে সরিয়ে দেওয়া হচ্ছে।

বিপরীতভাবে সেটিং vm.swappinessথেকে 0ফাইল ক্যাশে থেকে পৃষ্ঠাগুলি পক্ষে বেনামী পৃষ্ঠাগুলি উচ্ছেদ থেকে কার্নেল প্রতিরোধ করবে। প্রোগ্রামগুলি যদি তাদের বেশিরভাগ ক্যাশে করে থাকে তবে এটি কার্যকর হতে পারে যা কিছু ডাটাবেসের ক্ষেত্রেও হতে পারে। ডেস্কটপ সিস্টেমে এটি ইন্টারঅ্যাক্টিভিটি উন্নত করতে পারে, তবে খারাপ দিকটি হ'ল আই / ও পারফরম্যান্স সম্ভবত হিট লাগবে।

ডিফল্ট মান সম্ভবত এই দুটি চরমের মধ্যে একটি আনুমানিক মাঝারি ক্ষেত্র হিসাবে বেছে নেওয়া হয়েছে। যে কোনও পারফরম্যান্স প্যারামিটারের মতো, সামঞ্জস্য vm.swappinessকরা কেবলমাত্র অন্ত্র অনুভূতির সাথে নয়, বাস্তব কাজের চাপের সাথে তুলনীয় বেঞ্চমার্ক ডেটার ভিত্তিতে হওয়া উচিত।


4
কীভাবে একটি শক্ত রাষ্ট্রের ডিভাইসে ওএস ইনস্টল করা বাণিজ্যকে প্রভাবিত করে?
অঙ্কুরিত

3
@gerrit অন্তর্নিহিত স্টোরেজ মাধ্যমের ধরণের অপ্রাসঙ্গিক। এই ধরণের বিশদটি মেমরি পরিচালনার সাবসিস্টেমটিতে দৃশ্যমান নয়।
থমাস নাইম্যান

অন্তর্নিহিত স্টোরেজ মিডিয়ামের ধরণটি মেমরি ব্যবহারের দৃষ্টিকোণ থেকে অপ্রাসঙ্গিক। আপনি অদলবদল হ্রাস করতে বিবেচনা করতে পারেন যে মাঝারিটি দীর্ঘায়ু বৃদ্ধির জন্য সীমিত পরিমাণে পঠন / লেখার (যেমন ফ্ল্যাশ মেমরি) সমর্থন করে।
ম্যাট্রিক্সম্যানএটিআইআরসেবা

2
@MatriMManAtYrS सर्विस অভ্যন্তরীণ পরিধান-স্তরকরণ এবং অন্তর্নির্মিত রিডানডেন্সির জন্য ধন্যবাদ, আধুনিক এসএসডিগুলি (যা পূর্ববর্তী মন্তব্যে প্রশ্নটি উল্লেখ করেছে) ত্রুটিগুলি প্রদর্শনের আগে 2 টি পিবি (!) লেখার শেষ দেখানো হয়েছে । এমনকি এই পরীক্ষাগুলিতে সস্তা ড্রাইভগুলি ত্রুটি হওয়ার আগে 300TB অবধি চলেছিল, প্রায় 100TB অফিশিয়াল ওয়ারেন্টি রেটিং ছাড়িয়েও। কমপক্ষে আমার মতে ওয়ার্কস্টেশন বা ল্যাপটপগুলিতে কোনও এসএসডি রাখার জন্য অদলবদল সামঞ্জস্য করা সত্যই নিশ্চিত নয়।
টমাস নাইম্যান

2
@ থমাসনাইমন আপনি একটি ভাল বক্তব্য রাখেন, বেশিরভাগ ব্যবহারকারীর জন্য এটি উদ্বিগ্ন হওয়ার মতো নয়। যে মামলাটি আমাকে এই পোস্টে নিয়ে এসেছিল তাতে একটি এসডি কার্ডে স্বপ স্পেস জড়িত, যা আমি স্বীকার করি এটি একটি প্রান্তের কেস।
ম্যাট্রিক্সম্যানএটিআইআরসেবা

9

সমস্যাটি হ'ল এমন কোনও ডিফল্ট মান নেই যা সমস্ত প্রয়োজনের সাথে খাপ খায়। অদলবদল বিকল্পটি 10 ​​এ সেট করা ডেস্কটপগুলির জন্য উপযুক্ত সেটিং হতে পারে তবে 60 এর ডিফল্ট মানটি সার্ভারের জন্য আরও উপযুক্ত হতে পারে। অন্য কথায় অদলবদল করতে হবে ব্যবহারের ক্ষেত্রে - ডেস্কটপ বনাম সার্ভার, অ্যাপ্লিকেশন টাইপ এবং এই জাতীয়।

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

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


60 টি কেন সার্ভারের জন্য বেশি উপযুক্ত তা আমি বুঝতে পারি না। আমার কাছে সার্ভার রয়েছে এবং কিছু প্রসেস অদলবদল হয় এমনকি আমাদের কাছে 40% ফ্রিম র্যাম রয়েছে। আমার জন্য কোন মানে নেই।
হুগো

7
মেমরির কিছু অংশ অদলবদলে সরিয়ে ফেলা বোধগম্য হয় যদি এগুলি অ্যাক্সেস হওয়ার সম্ভাবনা খুব কম থাকে তবে লিনাক্স প্রকৃত র‌্যামের যতটা সম্ভব সম্ভব পরিস্থিতিগুলির জন্য প্রস্তুত থাকার জন্য মুক্ত রাখে যখন এটির প্রয়োজন হয়।
পুনরায়


নিবন্ধটির লিঙ্কটি মারা গেছে তবে আপনি এখনও এটি
ওয়েব্যাক

সংযুক্ত নিবন্ধটি তথ্যবহুল। এটি ভাগ করে নেওয়ার জন্য ধন্যবাদ।
পিস্তোস

5

উপরের উত্তরগুলিতে আরও বিশদ যুক্ত করা হচ্ছে।
যেহেতু আমরা ভিএম এর আরও বেশি ব্যবহার করছি, একটি মেঘের পরিবেশের মধ্যে একটি লিনাক্স হোস্ট ভিএম হতে পারে। 1 এবং 2 উভয় উদাহরণে আমরা অ্যাপ্লিকেশনগুলি চলমান রয়েছে এবং সেগুলি কতটা র্যাম ব্যবহার করে সে সম্পর্কে আমরা ভাল ধারণা পেয়েছি। ২০০ In সালে, তেমন কিছু নয়

  • উদাহরণ 1
    একটি উচ্চ কার্যকারিতা বেসরকারী মেঘ (মনে করুন যে সর্বাধিক ব্যাংকগুলি লক্ষ লক্ষ প্রদান করবে) যেখানে ডিস্কটি খুব ব্যয়বহুল স্টোরেজ অ্যারে দ্বারা সরবরাহ করা হয় খুব ভাল আইও। স্টোরেজের কিছু অংশ র‍্যামে থাকতে পারে (ডিস্ক অ্যারেতে) এসএসডি ডিস্কের সাহায্যে, স্পিন্ডল সহ নিয়মিত ডিস্কের সাহায্যে। এই পরিস্থিতিতে ভিএম দেখতে পাওয়া ডিস্কটি অ্যাক্সেস করতে সক্ষম র্যামের চেয়ে সামান্য ধীর হতে পারে। একক ভিএম এর জন্য অদলবদল এবং র‌্যামের মধ্যে খুব বেশি পার্থক্য নেই।
  • উদাহরণ 2
    উদাহরণ 1 হিসাবে একই তবে একক ভিএম এর পরিবর্তে আপনার শত, হাজার বা আরও বেশি কিছু রয়েছে। এই পরিস্থিতিতে আমরা খুঁজে পেতে পারি যে সার্ভার (হাইপারভাইজার) র‌্যাম সস্তার এবং প্রচুর পরিমাণে যেখানে স্টোরেজ র‌্যাম ব্যয়বহুল (তুলনামূলকভাবে কথা বলা)। যদি আমরা হাইপারভাইসর র‌্যাম এবং আমাদের খুব ব্যয়বহুল স্টোরেজ অ্যারের দ্বারা সরবরাহিত সুইপগুলির মধ্যে র্যামের প্রয়োজনীয়তাগুলি বিভক্ত করি তবে আমরা দেখতে পাই যে আমরা দ্রুত সমস্ত স্টোরেজ অ্যারেতে র‌্যাম ব্যবহার করি, ব্লকগুলি তখন এসএসডি দ্বারা এবং পরিশেষে স্পিন্ডল দ্বারা পরিবেশন করা হয়। হঠাৎ করে প্রতিটি শুরু সত্যিই ধীর হয়ে যায়। এই ক্ষেত্রে আমরা সম্ভবত ভিএমকে প্রচুর র‌্যাম (হাইপারভাইজার থেকে) বরাদ্দ করতে চাইছি এবং 0 এর জন্য অদলবদল সেট করতে চাই (মেমরির অবস্থার বাইরে এড়াতে কেবলমাত্র অদলবদল) কারণ সেই সমস্ত ভিএম এর সংশ্লেষিত প্রভাবের কার্যকারিতার উপর প্রভাব ফেলবে স্টোরেজ,
  • উদাহরণ 3 একটি এসএসডি সহ একটি আধুনিক ল্যাপটপ বা ডেস্কটপ। মেমরির প্রয়োজনীয়তা অজানা হিসাবে বিবেচিত হয়। ব্যবহারকারী কোন ব্রাউজার ব্যবহার করবেন, তাদের কতটা ট্যাব খোলা থাকবে, তারা কি কোনও নথী, কোনও কাঁচা ছবি বা সম্ভবত কোনও ভিডিও সম্পাদনা করবেন, তারা সকলেই র‌্যাম ব্যবহার করবে। অদলবদলকে স্বল্পমূল্যে সেট করা এবং অন্যান্য ফাইল সিস্টেমের টুইটগুলি সম্পাদনের অর্থ এসএসডি-তে কম লেখক রয়েছে এবং তাই এটি দীর্ঘস্থায়ী হবে।

3
কোনও এসএসডি লেখার সহনশীলতার উদ্বেগকে একটি শেষ-ব্যবহারকারী সিস্টেমের জন্য ওভাররেটেড করা হয়। আধুনিক এসএসডি সাধারণত কয়েকশ টেরাবাইটের রাইটিং ভলিউম টিকে থাকে। ভারী অদলবদলের ব্যবহার সহ একটি সাধারণ ডেস্কটপ সিস্টেম অপারেশনের বহু বছর ধরে এটি ব্যবহার করার সম্ভাবনা কম।
জুলে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.