লিনাক্স: অদলবদল তৈরি করবেন না?


9

আমি যখন থেকে শুনলাম যে আপনি যখন বাইরে চলে যাচ্ছেন বা র‌্যাম থাকবেন তখন অদলবদল ব্যবহৃত হয় এবং আমি খুব বেশি র্যাম (8 জিবি) থাকি বলে খুব বেশি অদলবদল করা খারাপ হয় ....

আমি যদি অদলবদল তৈরি না করি?

এছাড়াও, হাইবারনেশনের জন্য কি আমার এটি দরকার বা এটি প্রয়োজনীয় নয়?


আপনাকে অবশ্যই সোয়াপ তৈরি করতে হবে, আমি একবার সোয়াপ তৈরি না করার চেষ্টা করেছি, ইনস্টলেশনটি এগিয়ে নিতে পারিনি
Lynob

আপনি উইন্ডোজ ভিতরে ইনস্টল যখন কি হবে? আমি এটি করেছিলাম এবং উইন্ডোগুলির তুলনায় এটি আমার
রগের

আমি উইন্ডোজের ভিতরে কোনও লিনাক্স ইনস্টল করার চেষ্টা করিনি, আমি সর্বদা একটি পৃথক পার্টিশন তৈরি করি
Lynob

উত্তর:


13

আধুনিক অপারেটিং সিস্টেমগুলির র‍্যামের দক্ষ ব্যবহারের জন্য একটি অদলবদল স্থান প্রয়োজন। এমনকি যদি আপনার সিস্টেমে প্রচুর পরিমাণে র‍্যাম থাকে তবে র্যামের অপচয় হ্রাস করে একটি ছোট বাফার ক্যাশে হয় যার অর্থ ডিস্ক I / O বৃদ্ধি পেয়েছে। সুতরাং আপনার যত র‌্যাম থাকুক না কেন, আপনি এখনও সিস্টেমটি দক্ষতার সাথে ব্যবহার করতে চান। এটিকে দক্ষতার সাথে ব্যবহার করার অর্থ এমন জিনিসগুলি র‍্যামের বাইরে চলে যাওয়া যা অ্যাক্সেসের পক্ষে অত্যন্ত অসম্ভব।

আপনি যখন একটি সাধারণ সিস্টেম শুরু করেন, বিপুল সংখ্যক পরিষেবা শুরু হয়। প্রোগ্রামগুলি প্রারম্ভিককরণের কোডটি চালায় এবং প্রাইভেট মেমরি ম্যাপিংগুলিকে সংশোধন করে। এই পরিষেবাগুলির একটি আবার আর চলবে না। তাদের মধ্যে বেশ কয়েক ঘন্টা চলবে না। অদলবদল ছাড়া, ওএসের পরিবর্তিত ব্যক্তিগত মেমরি ম্যাপিংগুলিকে সেই পরিষেবার সাথে চিরতরে র‌্যামে রাখার বিকল্প নেই। এটি র‌্যাম যা কখনই ডিস্ক ক্যাশে হিসাবে ব্যবহার করা যায় না।

সুতরাং আপনি প্রয়োজন বা না প্রয়োজন স্যুপ পরিবর্তন করতে চান।


8
"সুতরাং আপনার প্রয়োজন হবে কিনা তা আপনি অদলবদল করতে চান" " - আপনার মনে হচ্ছে আপনি কেস করেছেন যে সে চায় কিনা বা না চায় তার অদলবদল দরকার।
কর্ষণ

2
ধরুন আমার কাছে প্রচুর র‍্যাম রয়েছে এবং এটি 2 জিবি নষ্ট করতে পারে। আমাকে কেন অদলবদলের ফাইল লাগবে?
তারিক

1
সেক্ষেত্রে আপনার অদলবদলের দরকার নেই। আমি যেমন যুক্তি দিয়েছিলাম, আপনি একটি চান। কারণ থাকুক বা না থাকুক আপনি র্যাম নষ্ট করতে সামর্থ, আপনি করা উচিত নয় চান inefficiently র্যাম ব্যবহার করতে হবে না হয়।
ডেভিড শোয়ার্টজ

আমি কোনও অদলবহুল একটি সি এল এল সার্ভার চালাচ্ছি এবং এটি পুরোপুরি চলমান। একটি টিমস্পেক 3 সার্ভার চালিয়ে যাচ্ছি, অ্যাপাচি 2, নোড.জেএস আমি কখনই 500 এম এর বেশি র‌্যাম ব্যবহার করা দেখি না। সুতরাং এটি "অকার্যকর" ডিস্ক্লেইমার: র‍্যামটি ব্যবহার করতে আমাকে বিরক্ত করে না: এই সার্ভারটির ওয়েবসার্ভার ফাংশনটি কেবলমাত্র উন্নয়নের জন্য, তাই যাইহোক লোডটি সর্বদা কম থাকে। এবং বিকাশের সময় যদি আমার স্মৃতি-ফুটো থাকে তবে আমি ওএম হত্যাকারী যত তাড়াতাড়ি র‌্যামের বাইরে চলে আসার সাথে সাথে এটিকে সমস্ত বোকা ডিস্কে ঠেলে দেই না push
নেটিভ কোডার

12

আমি কয়েক বছর ধরে কোনও অদলবদল ছাড়াই একটি ডেস্কটপ সিস্টেম চালাচ্ছি, এবং এটি দুর্দান্ত চলছে! কয়েকটি আচরণ বিভিন্ন যে পৃথক; এর মধ্যে কিছু সুবিধাজনক এবং কিছু আপনার ক্ষতি করতে পারে। এটি সমস্ত কি আপনি করছেন তার উপর নির্ভর করে।

একটি প্রধান পার্থক্য হ'ল মেমরি শেষ হয়ে গেলে সিস্টেমটি কীভাবে আচরণ করে:

যদি অদলবদল বিভাজন না থাকে, OOM হত্যাকারী অবিলম্বে চলে। আপনি যদি মেমরি ফাঁস করার কোনও প্রোগ্রাম পেয়ে থাকেন তবে সম্ভবত এটিই মারা যায়। এটি ঘটে এবং আপনি তত্ক্ষণাত্ সিস্টেমটি পুনরুদ্ধার করুন।

যদি হয় একটি swap পার্টিশন কার্নেল swap 'র মধ্যে মেমরির বিষয়বস্তু push কর্মের। ত্রুটিযুক্ত প্রক্রিয়া মেমরি বরাদ্দ রাখা চালিয়ে যেতে পারে। অদলবদল শেষ না হওয়া পর্যন্ত এটি ঘটতে থাকবে, যদি আপনার বড় অদলবদল হয় তবে দশ মিনিট থেকে এক ঘন্টা পর্যন্ত সময় লাগতে পারে। এটি করার সময়, আপনার সিস্টেমটি ক্রলের দিকে ধীর হয়ে যায়। একটি টার্মিনাল খোলা এবং প্রক্রিয়াটি মারা সম্ভব নয়। যখন এটি হয় তখন আমি সাধারণত পাওয়ার কর্ডটি প্লাগ করি।

সুতরাং, যেহেতু আমি যেভাবেই আমার ডেটা হারাতে যাচ্ছি যখন সিস্টেম OOMs, আমি কমপক্ষে পুনরুদ্ধারের একটি (উচ্চ) সম্ভাবনা থাকার আগের বিকল্পটি পছন্দ করি।


এটি আমার অভিজ্ঞতাও হয়েছে। লিনাক্স আপনাকে আপত্তিজনক প্রোগ্রামটি নিজে খুন করার জন্য পর্যাপ্ত পরিমাণে সোয়াপ-থ্রেশিং পরিচালনা করে না। এটি কেবল ওওএম ঘাতক নিজেই করানো আরও নির্ভরযোগ্য। অবশ্যই এটি একটি ভয়াবহ নকশা - আপত্তিজনক প্রক্রিয়াটি হত্যার চেয়ে হিমায়িত করা এবং এটিকে নিখরচায়িত করতে বা মেরে ফেলার অনুমতি দেওয়ার জন্য একটি দুর্দান্ত জিইউআই সরবরাহ করা ভাল, তবে ... লিনাক্স।
টিমম্মে

3
অবশেষে এমন একটি প্রতিক্রিয়া যা বোঝায় এবং আমার নিজের অভিজ্ঞতার সাথে মেলে। "আপনার অবশ্যই একটি সোয়াপ পার্টিশন থাকতে হবে" এর পিছনে যুক্তিটি বুঝতে পারি না। আমরা যদি সিস্টেমটি হাইবারনেট করতে চাই তবে বাদে।
তারিক

5

হাইবারনেশনের জন্য অদলবদল প্রয়োজন, অন্যথায় আপনি এটি ঠিকঠাক না করেই পেতে পারেন।


সুতরাং অদলবদলের আকারটি আপনার সিস্টেমে ইনস্টল থাকা মেমরির আকারের চেয়ে কিছুটা বেশি হওয়া উচিত।
এমডিপিসি

@ এমডিপিসি, অগত্যা নয়; এটি কেবল ব্যবহৃত মেষটিকে ধরে রাখতে যথেষ্ট বড় হতে হবে যা ফেলে দেওয়া যায় না (অর্থাত্ ডিস্কের কোনও ফাইল দ্বারা ডেটা ব্যাক করা ডেটা)।
psusi

এবং আপনি কীভাবে অনুমান করবেন সৃষ্টির উপরে? আপনি কি সঠিক পরিকল্পনা এবং খারাপ বিভাগের জন্য প্রস্তুতি নেবেন না কেননা পার্টিশন সাধারণত সেট হয়ে যাওয়ার পরে পরিবর্তনের জন্য ব্যথা হয়?
এমডিপিসি

3

অদলবদল অঞ্চলটি কার্যকারিতাটিকে নেতিবাচকভাবে প্রভাবিত করে তা ভাবা একটি সাধারণ ভুল ধারণা। যা কার্যকরীভাবে মারাত্মকভাবে প্রভাবিত করে তার যথেষ্ট পরিমাণে র্যাম নেই। প্রতি সেটের অদলবদল কার্যক্ষমতাতে কোনও নেতিবাচক প্রভাব ফেলবে না যদি না আপনি নির্ভরযোগ্যতার বিষয়ে চিন্তা করেন না। এটা একটা থাকতে পারে ইতিবাচক কর্মক্ষমতা এমনকি যখন আপনি কি মনে করেন আপনি যথেষ্ট র্যাম (এবং কোন র্যাম ঘাটতি রিপোর্ট করা হয়) উপর প্রভাব।

মূলত তিনটি বিষয় বিবেচনা করতে হবে:

  • 1: অভ্যন্তরীণ কার্নেলের প্রয়োজনীয়তার জন্য পর্যাপ্ত পরিমাণে র্যাম রয়েছে, আপনার সমস্ত অ্যাপ্লিকেশনগুলিতে র‌্যামে তাদের কাজের পৃষ্ঠাগুলির সেট থাকতে পারে এবং এখনও বেশিরভাগ ফাইল সিস্টেমের হট ডেটা সংরক্ষণ করার জন্য বাফার ক্যাশে "ফ্রি" র‌্যাম থাকে।

  • 2: উপরের মত একই আপনার কাছে বাফার ক্যাশে পুরোপুরি দক্ষ হওয়ার জন্য পর্যাপ্ত ফ্রি র্যাম নেই।

  • 3: এমনকি আপনার অ্যাপ্লিকেশন ব্যবহৃত পৃষ্ঠাগুলি সঞ্চয় করার জন্য পর্যাপ্ত র‍্যাম নেই।

ক্ষেত্রে 1, যা কোনও প্রোডাকশন মেশিনের আদর্শ হওয়া উচিত, তার অদলবদল থাকা বা কোনও পরিবর্তন হয় না (কমপক্ষে লিনাক্স ভিত্তিক ওএস এবং অন্যান্য ওএস যা মেমরির ওভার কমিট করে)।

যদি 2 এর ক্ষেত্রে, একটি অদলবদল থাকার ক্ষেত্রটি সিস্টেমটিকে খুব কম ব্যবহৃত পৃষ্ঠাগুলি পৃষ্ঠাতে দেয় এবং তারপরে বাফার ক্যাশেটিকে আরও ভালভাবে তার ভূমিকা পালন করার অনুমতি দিয়ে সামগ্রিক কর্মক্ষমতা উন্নত করতে পারে ।

3 ক্ষেত্রে, অদলবদল থাকার কারণে অ্যাপ্লিকেশনটি পৃষ্ঠায়নের কারণে কর্মক্ষমতা হ্রাসের জন্য ব্যয় করে চলতে দেয় application অন্যদিকে, একটি অদলবদল (বা একটি বৃহত যথেষ্ট) হারিয়ে যাওয়া অ্যাপ্লিকেশনগুলি এলোমেলোভাবে ক্র্যাশ করবে। অতিরিক্তভাবে, ওএস সেটিংসের উপর নির্ভর করে, ওওম ঘাতক এমনকি তাদের (আপনার) সমালোচনামূলক ডেটা সংরক্ষণ করার সুযোগ না দিয়ে যদি শক্তিশালী র‌্যামের চাহিদা থাকে তবে সর্বাধিক স্মৃতি ক্ষুধার্ত অ্যাপ্লিকেশনগুলিকে হত্যা করার সিদ্ধান্ত নিতে পারে।

এই পরবর্তী ঘটনাটি এমন একটি যা আপনাকে পছন্দ করে নিতে হবে with অবশ্যই কিছু ব্যবহারের ক্ষেত্রে রয়েছে যেখানে প্রক্রিয়াগুলি হত্যার পরে পছন্দসই বিকল্প হ'ল সিস্টেমগুলির মতো প্রতিক্রিয়া সময় অত্যন্ত গুরুত্বপূর্ণ এবং যেখানে কোনও লেনদেন / প্রক্রিয়া হারাতে কোন বড় বিষয় নয়।

তবে, বেশিরভাগ পরিস্থিতিতেই আমি বিশ্বাস করি the ব্যবহারকারী / প্রশাসকের পক্ষে র‌্যামের ঘাটতি লক্ষ্য করা এবং ডেটা হারানোর ঝুঁকি না নিয়ে সেই অনুযায়ী কাজ করার সুযোগ দেওয়া ভাল।


1

আপনি যদি অদলবদল বিভাজনটি ব্যবহার করতে না চান তবে আপনি একটি সোয়াপ ফাইলটি ব্যবহার করতে পারেন: একটি নিয়মিত ফাইলে সংরক্ষিত একটি ফাইল সিস্টেম চিত্র এবং আপনার অদলবদল স্থান হিসাবে ব্যবহৃত হয়।

নিম্নলিখিত নিবন্ধগুলি কীভাবে এটি বিশদভাবে করবেন তা বর্ণনা করে:


একটি অদলবদল ফাইল এবং একটি অদলবদল পার্টিশনের মধ্যে পার্থক্য কি? এবং আমার কিছু না থাকলে কী হবে?
মিহাই ব্রাটুলেসকু

অ্যাক্সেসের গতি ....
এমডিপিসি

2
যদি হ্যাঁ এটি ব্যবহৃত হয় তবে তা যথেষ্ট তাৎপর্যপূর্ণ। আপনি যদি কোনও পার্টিশন ব্যবহার করেন তবে এটি সহজ ঠিকানা, যদি আপনি কোনও ফাইল ব্যবহার করেন তবে আপনাকে অদলবদল ফাইলটি ব্যবহার করতে সমস্ত ফাইল সিস্টেমের ওভারহেড করতে হবে এবং আপনি ডিস্কে সেগমেন্টগুলি কোথায় থাকবেন তা আপনি গ্যারান্টি দিতে পারবেন না।
এমডিপিসি

2
@mdpc ফাইল সিস্টেমের ওভারহেডের কার্নেল ২.6 থেকে শুরু করা নগন্য। মেটাডেটা, ক্যাশে এবং ফাইল সিস্টেম কোডকে বাইপাস করা হয়েছে। কাঁচা ডিস্ক ব্লকগুলি কেবল সরাসরি অ্যাক্সেস করা হয়।
jlliagre

1
@ এমডিপিসি একটি অদলবদলের ফাইলটি যদি না তৈরি হয় তবে তা যদি না হয় তবে তা উল্লেখযোগ্যভাবে খণ্ডিত করা উচিত নয়। তদ্ব্যতীত, অদলবদল অ্যাক্সেস খুব কমই ক্রমযুক্ত তবে বেশিরভাগ এলোমেলো কারণ ডিমান্ড পেজিং কীভাবে কাজ করে তাই খণ্ড খণ্ডন যে কোনও সমস্যা হওয়া উচিত নয়।
jlliagre

0

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

অদলবদল আপনাকে মূলত যা দেয় তা হ'ল আপনার স্মৃতির জন্য প্রসারিত তবে অনেক ধীর। যদি আপনি অতিক্রম করেন তবে আপনি অদলবদল শুরু করবেন, এটি সত্যই আপনার সিস্টেমটি থেকে জীবন কেড়ে নেবে .... তবুও ত্রুটিযুক্ত প্রক্রিয়াগুলি বন্ধ করে আপনি এখনও আপনার সিস্টেমকে বাঁচাতে পারবেন।

কিছু প্রোগ্রাম স্বাপের স্থান বরাদ্দ (তবে ব্যবহার না করে) করার জন্য জোর দেয়, এর মধ্যে কয়েকটি ডাটাবেস প্রোগ্রাম যা আমি স্মরণ করিয়ে দিই। আবার অদলবদল না করে আপনি চালানো প্রোগ্রামগুলিকে সীমাবদ্ধ করতে পারেন।

অবশেষে, দেখুন যে অঞ্চলটি আপনার ব্যাকআপ করতে হবে না সে জন্য স্বেপটি চিপ। (আমি আশা করছি যে আপনি তাদের এই সিস্টেমগুলিতে ব্যাকআপ করার জন্য এই দুর্দান্ত বেনিফিট সিসাদমিনগুলির মধ্যে একজন)।

সুতরাং এটি তৈরি করুন।

আমার থাম্বের নিয়মটি 2 * মেমরি-আকারে ব্যবহৃত হত ..... তবে এখন বলেছি আমি 1 * মেমরি আকারের সাথে অনেক ক্ষেত্রে ঠিক আছি তবে সাধারণত 1.5 * (মেমরি-আকার) ব্যবহার করি। আপনাকে প্রচুর পরিমাণে তৈরি করতে হবে না, তবে আমি ... বিশেষত যদি আপনি যে কোনও উত্পাদন ধরণের কাজ করছেন।

ওহ হ্যাঁ, এবং হাইবারনেশনের জন্য, মোট স্মৃতি মেমরি ধরে রাখতে অদলবদল প্রয়োজন RE এবং এইভাবে আপনি যদি h8ibernation বিবেচনা করছেন তবে আকারটি কমপক্ষে (1 * মেমরি-আকার) + 100 এমবি হওয়া উচিত .. প্রক্রিয়াটিতে প্রয়োজনীয় ওভারহেডের জন্য 100 এমবি হওয়া উচিত।


সুতরাং ... কিছু প্রোগ্রামের জন্য আপনার চালনার জন্য আপনার জাতীয় ধরণের অদলবদল দরকার? আমি 8 গিগাবাইটের সাথে র‌্যামের বাইরে চলে যাওয়ার বিষয়ে চিন্তিত নই (যদিও অসম্ভব নয়)
মিহাই ব্রাটুলেসকু

2x মেমরি আকারের নিয়মটি পুরানো এবং পুরানো। তবে কিছুটা অদলবদল করা কোনও খারাপ ধারণা নয়। এটি খুব বেশি ডিস্ক স্পেস ব্যবহার করে না, সুতরাং আপনি ব্যবহৃত স্থানটি মিস করবেন না; আপনার পর্যাপ্ত র‍্যাম থাকলে সাধারণত এটি ব্যবহার করা হয় না এবং এটি আপনাকে আপনার অদলবদলে ডাম্প দেয়ার অনুমতি দেয়।
হেনেস

@ হেনিস - আমার নোটটি পড়ুন ... "ব্যবহৃত হত"
এমডিপিসি

0

মেমরির চাপ পড়ার সাথে সাথে লিনাক্সের অদলবদলের খুব শক্ত প্রয়োজন রয়েছে। লক্ষণটি হ'ল যদি প্রায় সমস্ত র‌্যাম সক্রিয় প্রক্রিয়াগুলি দ্বারা ব্যবহৃত হয় তবে সিস্টেমটি শক্ত স্টল করে এবং হার্ডডিস্কটি বন্য চলছে।

কেন?

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

এই সূক্ষ্ম সমস্যা সম্পর্কে আরও তথ্যের জন্য এই ব্লগ পোস্টটি দেখুন।

উপসংহার : সর্বদা একটি অদলবদল করুন।

আর আকারের জন্য মোটামুটি গাইডলাইন 4 থেকে 8 গিগাবাইটের মধ্যে কিছু ব্যবহার করে এমনকি প্রচুর র‌্যামযুক্ত সিস্টেমগুলির জন্যও ধরে নিই যে আপনি হাইবারনেট করবেন না। আরও তথ্যের জন্য স্বাপের স্থান সম্পর্কে রেড হ্যাট-র নথি দেখুন

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