অদলবদল কি অ্যানক্রোনিজম?


43

আমি বেশ কিছুক্ষণ ইউনিক্স ব্যবহার করেছি, এবং গত কয়েক বছর ধরে আমার মনে হয়েছে যে অদলবদল অ্যানাক্রোনিজম, তবে অন্যান্য লোকেরা যা মনে করেন আমি কি তা জানতে আগ্রহী হয়েছি।

আমার যুক্তিটি মোটামুটি এটি (কোনও বৈশ্বিক ulimit বা OOM সেটিংসের বার্ধক্যের বিষয়টি ধরে নেই):

There is little value in swap because if you need to swap out to disk, 
odds are it's going to be a vicious cycle where an app will continue 
to eat not only real memory, but swap as well until it gets OOM 
reaped (_if_ it gets OOM reaped). 

If you have swap enabled, it will only prolong this death march to 
the detriment of other processes - and in the worst case where the
process is not OOM reaped in a timely manner, grind the system to
a halt.

Without swap, it will probably get OOM reaped sooner (if at all)

পারফরম্যান্সের জন্য সুরযুক্ত যে কোনও পরিষেবাটির জন্য, আমি মনে করব যে এটির উত্স ব্যবহারের উপরের সীমাটি বোঝার জন্য এটি প্রথমে সুর করার চাবিকাঠি হবে, এক্ষেত্রে আপনি জানেন যে আপনার কতটা প্রয়োজন।

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

আমি অবশ্যই একটি এম্বেড থাকা সিস্টেমে অদলবদল করতে চাই না (যদিও এটি একটি ছোট উপলব্ধ র্যামও থাকতে পারে), যদি আপনি র‌্যামের বাইরে চলে যান তবে প্রতি সেক্টর মিলিয়ন-রাইটিং-প্রতি সেক্টর ফ্ল্যাশ মেমরি ছিন্ন করার চেয়ে আমার প্রক্রিয়াটি মরে যেতে চাইত সেক্টরগুলিকে নিচে নামিয়ে এক সপ্তাহান্তে গাড়ি চালান।

কোনও ইউনিক্স-দাড়ি আউট অদলবদলের কোনও বাধ্যতামূলক কারণ আছে?

আপডেটের উত্তর এবং বিশ্লেষণ:

  • নিশ্চিত করা হয়েছে? - কাঁটাচামচ () পিতামাতার মতো শিশু প্রক্রিয়াটির জন্য একই পরিমাণ মেমরির প্রয়োজন requires

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

    কৌতূহলজনকভাবে, এই সোলারিস নিবন্ধটি দাবি করেছে যে সোলারিসটি কাঁটাচামচ () দিয়ে কপিরাইট-অন-রাইটিং ব্যবহার করে, আপনার কাঁটাচামচ () জন্য ফ্রি ভার্চুয়াল মেমরিতে কমপক্ষে 2x (!) প্যারেন্ট প্রসেসের আকার থাকা উচিত () মধ্যম। সোলারিস উপাদানটি কিছুটা আড়াল করে যে অদলবদল হ'ল অ্যানাক্রোনিজম - আমি মনে করি পর্যাপ্ত অপারেটিং সিস্টেমগুলি কো-র সঠিকভাবে এমনভাবে প্রয়োগ করে যে রূপকথাকে এটি অদলবদলের আরও ন্যায্যতা হিসাবে চিহ্নিত করার চেয়ে কার্যকর করা আরও গুরুত্বপূর্ণ। থেকে. চলুন মোকাবেলা করা যাক. এই মুহুর্তে সোলারিসকে ব্যবহার করা লোকেরা সম্ভবত কেবল ওরাকল ছেলেরা guys কোনও অপরাধ নেই সোলারিস!

  • নিশ্চিত - যখন tmpfs / ramfs fills আপ tmpfs / ramfs ফাইল convienence যেমন swap 'র যেতে পারেন

    সীমাবদ্ধ tmpfs / ramfs ব্যবহার করবেন না! আপনি tmpfs / ramfs যে পরিমাণ র‌্যাম ব্যবহার করতে চান তা সর্বদা স্পষ্টভাবে সংজ্ঞায়িত করুন।

  • প্লাজেবল - ' সেক্ষেত্রে ' একটু অদলবদল করুন

    আমার এক পুরানো কর্তার দুর্দান্ত বক্তব্য ছিল, 'আপনি যা জানেন না তা জানেন না' - মূলত, এখনও আপনার কাছে নেই এমন তথ্যের ভিত্তিতে আপনি সিদ্ধান্ত নিতে পারবেন না। এটি আমার কাছে অদলবদলের জন্য একটি যুক্তিযুক্ত যুক্তি, তবে - আমি সন্দেহ করি যে আপনার অ্যাপ্লিকেশনটি অদলবদল করছে কি না তা সনাক্ত করতে আপনি যে ধরণের জিনিসগুলি করতে চান তা ম্যালোক () সফল হয় কিনা বা ব্যতিক্রমটি ধরা পড়ে কিনা তা পরীক্ষা করে দেখার চেয়ে ভারী হবে suspect একটি ব্যর্থ নতুন ()।

    আপনি ডেস্কটপ চালাচ্ছেন এবং এলোমেলো কিছু কাজ চলছে এমন ক্ষেত্রে এটি কার্যকর হতে পারে, তবে এখনও - যদি কিছু বাদাম পড়ে যায় তবে আমি বরং ওওএম কে সোয়াপ-নরকে ডুবিয়ে দেওয়ার চেয়ে ফসল কাটাতে পারি। ঐটা শুধুই আমি.

  • Busted! - সোলারিসে অদলবদল বেশ কয়েকটি কারণে গুরুত্বপূর্ণ

    tmpfs - রাজ্য tmpfs- র জন্য উপলব্ধ মুক্ত জায়গার পরিমাণ সিস্টেমে অযাচিত swap স্পেসের পরিমাণের উপর নির্ভর করে। একটি tmpfs ফাইল সিস্টেমের আকার এতে লেখা ফাইলগুলিকে সামঞ্জস্য করতে বৃদ্ধি পায় তবে tmpfs ভারী ব্যবহারকারীদের জন্য কিছু অন্তর্নিহিত ট্রেডঅফ রয়েছে। Tmpfs ডেটা দিয়ে সংস্থানগুলি ভাগ করে এবং প্রোগ্রামগুলি সম্পাদন করে সেগমেন্টের অংশগুলি। Tmpfs ফাইল সিস্টেমগুলি তাদের সর্বোচ্চ অনুমোদিত মাপের কাছে থাকলে খুব বড় প্রোগ্রামগুলির সম্পাদন প্রভাবিত হতে পারে। Tmpfs সিস্টেমের অদলবদল 4MB ব্যতীত সমস্ত বরাদ্দ করতে বিনামূল্যে।

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

    আমি নিশ্চিত না যে এর অর্থ এই যে আপনি তৈরি করতে পারেন এমন সর্বাধিক ভার্চুয়াল মানচিত্রটি হ'ল র‌্যাম + অদলবস্তু , বা আপনি যদি এখনও এমএমএপি () র্যামের চেয়ে বড় কোনও ফাইল করতে পারেন এবং এমএমএপি () এর অলস সূচনাতে নির্ভর করতে পারেন তবে আপনি অদলবদল ছাড়াই সম্ভবত আজকাল সোলারিস চালানো যেতে পারে, মনে হয় এটি অন্যান্য পসিক্স অপারেটিং সিস্টেমের তুলনায় এটি সম্পর্কে কম বন্ধুত্বপূর্ণ।

  • Busted! জনপ্রিয় লিনাক্স হাইবারনেশন সরঞ্জামগুলি অদলবদলের উপর নির্ভর করতে উপস্থিত হয়

    ডিফল্টরূপে, টাক্সঅনআইস দেখে মনে হচ্ছে এটি হাইবারনেশনের জন্য অদলবদলের উপর নির্ভর করে - যদিও অন্যান্য ব্যাকএন্ডের উপস্থিতি রয়েছে। যাইহোক, আপনি যদি এমন একটি বাক্স চালাচ্ছেন না যা হাইবারনেট করতে হবে, তবে আমি এখনও এই বক্তব্যটির পিছনে দাঁড়াব যে 'সোয়াপ লিনাক্সের উপর অ্যানক্রোনস্টিক'


আমার কাছে খুব বেশি * এক্স দাড়ি নেই (কিছু চুল এখনও আছে;) তবে আমার 2 সেন্টটি এমন হবে যে "বিট" অদলবদল করা আপনার সিস্টেমকে কিছুটা দৃust়তা দেয়। সরাসরি OOM এর পরিবর্তে, আপনার সিস্টেমে কিছুটা সীমাবদ্ধ থাকলে আপনি তার পরিবর্তে অদলবদল করতে পারেন। অবশ্যই, যদি সত্যিই আপনার সিস্টেমের সীমা অতিক্রম করে, আপনার সিস্টেমটি শেষ পর্যন্ত ক্র্যাশ / থামবে / নুকে নিজেই / যা-যা-আপনি কল্পনা করতে পারেন। তাই নিয়ে খেলতে কিছুটা দড়ি দেওয়া;)
ওউকি

1
কাঁটাচামচ () সম্পর্কিত জিনিসটি সত্য যদি আপনি আপনার সিস্টেমটিকে কখনই র‌্যামকে অতিরিক্ত সংক্রমণের জন্য সেট করেন না (এটি ডিফল্ট নয়)। এখন কেন আপনার সেই সেটিংয়ের দরকার হবে তা আমার কোনও ক্লু নেই। এটি রিয়েলটাইম প্রক্রিয়াজাতকরণের জন্য কার্যকর নয়।
জোশুয়া

@ যুশুয়া: অপারেটিং সিস্টেমের উপর নির্ভর করে মেমোরি অতিরিক্ত কমিট ডিফল্ট বা এমনকি সম্ভব নাও হতে পারে।
jlliagre

আমার 8 জিবি র‌্যাম সহ একটি এনএএস সার্ভার রয়েছে, এটি 2 টি ভিএম পর্যন্ত চলবে। আমি অদলবদল করিনি। যদি এটি ভারীভাবে অদলবদল শুরু করে, তবে তা ইতিমধ্যে মৃত। সুতরাং এটি পুরোপুরি আপনার যুক্তি সমর্থন করে। অন্যদিকে, আমি এখনও আমার মরিচা ডেস্কটপটি 1 গিগাবাইট র‌্যামের মধ্যে সীমাবদ্ধ ব্যবহার করছি এবং সেখানে স্পারস মেমরিটি পরিচালনা করতে আমার কাছে অদলবদল রয়েছে। এটি জিনিসটিকে কিছুটা ধীর করে তোলে তবে একই সাথে ফায়ারফক্স এবং অন্যান্য অ্যাপ্লিকেশনগুলি খোলার জন্য আমাকে সহায়তা করুন।
হিউজেনস

আমি দেখতে পেয়েছি যে ওওএম কিলারটি খুব দেরিতে ট্রিগার করে, কেবল সমস্ত ক্যাশে খালি করার পরে এবং সিস্টেমটি স্বস্তিতে পরিণত হয়। আমার সিস্টেমকে খারাপ রাখার জন্য, আমি একই কাজটি করার জন্য লাওমুম বা নোহং ব্যবহার করি তবে এর আগে! অদলবদল ছাড়া বা ব্যবহার করা যেতে পারে।
জোয়েটউইডল

উত্তর:


28

(ডিস্কের অঞ্চল হিসাবে) অদলবদল (ডিস্ক অঞ্চল হিসাবে) এবং (থেকে) অদলবদল (র‌্যাম থেকে ডিস্কে মেমরি পৃষ্ঠাগুলি সরানোর পদ্ধতি হিসাবে এবং একে অপরের সাথে) বিভ্রান্ত করবেন না।

পারফরম্যান্সের কারণে অতিরিক্ত অদলবদল এড়ানো উচিত তবে সোয়াপ এরিয়া থাকা কোনও সমস্যা নয়।

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

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


1
আপনি কি নিশ্চিত যে সোলারিস সম্পর্কে যে বক্তব্যটি এখনও সত্য? ব্লগস.আওরাকল.জিমলাওরেন্ট / এন্ট্রি / সোলারিস_ফাক_মাইথ_অ্যান্ড_ফ্যাক্টস জানিয়েছে: ভার্চুয়াল মেমরিতে আজ মোট ডিস্কে মোট শারীরিক র‌্যাম এবং অদলবদল গঠিত। সোলারিসের কোনও অদলবদল মোটেই কনফিগার করার প্রয়োজন হয় না। আপনি যদি এই বিকল্পটি চয়ন করেন, একবার র‌্যাম পূর্ণ হয়ে গেলে আপনি নতুন প্রক্রিয়া শুরু করতে পারবেন না। আমি মনে করি আমি আপনার বক্তব্যটি কী তা দেখতে পেয়েছি - আপনি যদি অদলবদল না করে শারীরিক ভেড়ার চেয়ে বড় কিছু এমএম্যাপ করতে চান? (নির্বিশেষে এমএম্যাপটি অলস প্রারম্ভিক)।
সিনথেসাইজারপেটেল

5
হ্যাঁ, আমি নিশ্চিত সোলারিস সম্পর্কে আমার বক্তব্য এখনও সত্য। এমনকি আপনার জিম লরেন্টের উক্তিটি সত্য, যদিও সোলারিস অদলবদলের দাবি করে না, অদলবদল না হওয়া মানে সমস্ত মেমরি রিজার্ভেশন (অর্থাত্ ম্যালোক) র‌্যাম দ্বারা সমর্থন করা দরকার, যদিও বরাদ্দকৃত কিছু মেমরি ব্যবহার করা হয় না। এটি বৃহত এমএমএপ বা টিএমপিএফ সম্পর্কিত নয় যদিও tmpfs একটি কারণ হ'ল আপনি সোলারিসের সাথেও অদলবদল করতে চান (এবং লিনাক্সও এই বিষয়টির জন্য)।
jlliagre

1
লিনাক্সের জন্য আপডেট: ওভার কমিটিং বন্ধ করা যায়, ওওম অ্যালগরিদম পরিবর্তন করা যায়, এমনকি সিগ্রুপ সহ আপনার নিজের ওওএম হ্যান্ডলারও থাকতে পারে।
পিটার্ফ

1
@ পিটারফ লিনাক্সে অতিরিক্ত কমিটিকেটিং বন্ধ করা অদলবদলকে আরও কম অ্যানাক্রোনিজম করে তোলে। যদি আপনি অতিরিক্ত কমিট না করেন তবে আপনাকে অবশ্যই নিশ্চিত করতে হবে যে সমস্ত রিজার্ভেশন ব্যাক করার জন্য আপনার কাছে পর্যাপ্ত পরিমাণে সোয়াপ রয়েছে।
jlliagre

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

3

আমি প্রায় অদলবদল করার একটি কারণ জানি of আমার কাছে এমন একটি অ্যাপ্লিকেশন রয়েছে যা আমার সিস্টেমের জন্য কনফিগার করার মতো সামর্থ্য অর্জন করতে পারে। এটি হ্যাডোপ ব্যবহার করে, যা প্রসেসিংয়ের এক অংশে একটি একক ইউনিক্স কমান্ড চালানোর জন্য কাঁটাচামচ করে এবং নির্বাহ করে (আমার মনে হয় "আনামে" বা "ব্যবহারকারী" বা এমন কিছু যা তারা জাভা সমতুল্য খুঁজে পায়নি)। এটি প্রদর্শিত হয় যে জাভা কোনও স্থানীয় অ্যাপ্লিকেশনের মতো লেখার শব্দার্থবিজ্ঞানের অনুলিপি সহ একটি ভোরফ করেন না। যদি আমি 4Gb র‌্যাম ব্যবহার করে আমার অ্যাপ্লিকেশনটি শুরু করি, যখন এটি কাঁটাচামচ করে, কাঁটাচামচ অন্য 4 জিবি র‌্যাম ব্যবহার করে তবে তা দ্রুত তা প্রকাশ করে। যদি হ্যাডোপটিতে অদলবদলের জন্য আমার কাছে 4 জিবি অদলবদ না থাকে তবে আমার অ্যাপ্লিকেশনটির জন্য 4 জিবি রাখার জন্য আমাকে 8 জিবি র‌্যামের জন্য দিতে হবে।


এটি দুর্দান্ত পয়েন্ট, তবে আধুনিক কাঁটাচামচ () - লিনাক্স এবং ফ্রিবিএসডি (এবং, সম্ভবত ওএসএক্স?) ​​কাঁটাচামচ () অনুলিপি-অন-রাইটিং পৃষ্ঠাগুলির ব্যবহারের মাধ্যমে প্রয়োগ করা হয়েছে of অনুলিপি (বা সিওডাব্লু) হ'ল এমন একটি প্রযুক্তি যা দেরীতে বা সম্পূর্ণরূপে ডেটা অনুলিপি প্রতিরোধ করতে পারে। প্রক্রিয়া ঠিকানার জায়গার সদৃশ হওয়ার পরিবর্তে পিতা বা মাতা এবং শিশু একটি কপি ভাগ করতে পারে। তথ্যটি অবশ্য এইভাবে চিহ্নিত করা হয় যে এটিতে লিখিত থাকলে একটি সদৃশ তৈরি করা হয় এবং প্রতিটি প্রক্রিয়া একটি অনন্য অনুলিপি গ্রহণ করে। উদ্ধৃতিসমূহ: forums.freebsd.org/showthread.php?t=26355 এবং কাঁটাচামচ জন্য লিনাক্স র manpage ()
synthesizerpatel

সত্য হিসাবে, কিছু পৃষ্ঠা রয়েছে যা COW চিহ্নিত করা যায় না। উদাহরণস্বরূপ, নতুন শিশু প্রক্রিয়াটির কার্নেল স্ট্যাকের জন্য ব্যবহৃত পৃষ্ঠাগুলি এবং অভ্যন্তরীণ ডেটা স্ট্রাকচারের জন্য ব্যবহৃত পৃষ্ঠাগুলি ( files_structদ্য struct signals, দ্য task_struct, এবং অন্যান্য)। এছাড়াও, অনেকগুলি এক্সিকিউটেবল পৃষ্ঠাগুলি অবস্থান-নির্ভর কোড নয় (পিআইসি) এবং এভাবে ডাইনামিক লোডার ( ld-linux.so) দ্বারা সংশোধিত সম্পাদনযোগ্য কোডের পৃষ্ঠাগুলি অবশ্যই অদলবদল স্থানে অদলবদলে কিছু না লেখা থাকলেও তাদের জন্য সোয়াপ স্পেস থাকতে হবে reserved এই কারণেই আমি লিনাক্সকে ভালবাসি; আপনি অদলবদল বন্ধ করতে পারেন এবং সিস্টেমটি এখনও চলছে। :)
আজরেই

3

আমি প্রযুক্তিগতভাবে আলোচনায় যুক্ত করতে পারি না, তবে কয়েকটি উদাহরণ দিতে পারি। আমার পুরানো নোটবুকটি (2 জিবি র‌্যাম কুনবুন্টু লুসিড) সাধারণত 0 এ সোয়াপ দিয়ে চলে I আমার আরও বেশি খারাপ হয়ে যায় যখন আমার কাছে এক্সপি ভিএম চলমান রয়েছে যা 1 গিগাবাইট আসল মেমরি ব্যবহার করে।

আমি অন্যদের মন্তব্য করতে দেখেছি যে গ্রাফিক্স রেন্ডারিংয়ের মতো মেমরি নিবিড় প্রক্রিয়াগুলিও অদলবদল করতে পারে। আপনি যদি মাঝে মাঝে এটি করেন তবে তা কোনও সমস্যা নয়।

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


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

3

অদলবদলের জায়গার জন্য খুব সুন্দর একটি অ্যাপ্লিকেশন রয়েছে: ইনস্টলযোগ্য সিস্টেম র‌্যামের সীমাবদ্ধতা কাটিয়ে ওঠার জন্য স্টোরেজ ডিভাইসে সোয়াপ স্পেস রেখে র‌্যাম এক্সটেনশন RAM

এই গ্যাজেটটি দেখুন http://techreport.com/articles.x/16255 এটি মূলত এস-এটিএ থেকে ডিডিআর 2-র্যামের ইন্টারফেস। এগুলিতে আপনি 64৪ গিগাবাইট র‌্যাম আপ করতে পারেন। এর মধ্যে একটিতে অদলবদল স্থাপন করে আপনি কিছু উল্লেখযোগ্য অতিরিক্ত র্যাম পেয়ে যাচ্ছেন। অবশ্যই এটি নিয়মিত সিস্টেম র‌্যামের মতো দ্রুত নয়। তবে এটি এক প্রকারের সিস্টেম র‌্যামকে একটি অতিরিক্ত ক্যাশে স্তরকে সাজিয়ে তোলে।


1
এর দাম ($ 549) মানা করা কোনও মেইনবোর্ডে GB৪ জিবি র‌্যাম সমর্থন করে 100 ডলার বিনিয়োগ করা আরও দক্ষ হবে না ?
দিমিত্রি গ্রিগরিয়েভ

1
@ দিমিত্রিগ্রিরিভ: অবশ্যই তবে কখনও কখনও আপনি সেই বিশেষ ধরণের হার্ডওয়্যার ব্যবহার করতে বাধ্য হন (কারণ কারণে কাশির চিকিত্সা শংসাপত্রের শংসাপত্রের শংসাপত্র কাশি ) তবে খুব অল্প সময়ে উত্পাদিত হাস্যকরভাবে বড় ডেটাসেটগুলিও মোকাবেলা করতে হবে (টমোগ্রাফি স্ক্যানার, ডেটারেটস> 3 জি আইবি / গুলি)।
ডেটনল্ফ

আপনি কি সেই ক্ষেত্রে র‌্যাম ড্রাইভকে একটি মেডিকেল ডিভাইস হিসাবে প্রত্যয়িত করবেন না? ;) তবে হ্যাঁ, আমি পয়েন্টটি পেয়েছি।
দিমিত্রি গ্রিগরিয়েভ

1
@ দিমিত্রিগ্রিরিভ: সত্যই আপনাকে এটি করতে হবে। তবে এই জাতীয় এস-এটিএ র‌্যাম ডিস্ক ডিভাইসকে শংসাপত্র দেওয়া পুরো মেনবোর্ডকে শংসাপত্র দেওয়ার চেয়ে অনেক সহজ। চিকিত্সা সরঞ্জামগুলিতে ব্যবহৃত কম্পিউটারগুলির জন্য যখন আপনি সাধারণত শেল্ফ অফ শেল্ফযুক্ত শংসাপত্র হিসাবে যতটা সম্ভব উপাদান কিনে। সেই অংশগুলির জন্য যেখানে কোনও শংসাপত্রের সাথে সহজেই উপলভ্য থাকে না তারপরে আপনি নিজেই প্রয়োজনীয় পরীক্ষা এবং শংসাপত্র গ্রহণ করুন। বিশেষত গবেষণায় কাজ করার সময়, যেখানে রোগীর সুরক্ষার উপর জোর দেওয়া হয় এবং চিকিত্সা পরিকল্পনার জন্য ডেটা ব্যবহার করা হয় না এটি এটি সবচেয়ে ব্যয়বহুল এবং দ্রুত সমাধান। বিটি; মোর্চা।
ডেটনল্ফ

3

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

আমি যে জিনিসগুলি শিখেছি:

  • সময়ের সাথে উইন্ডোজ "হারায়" স্মৃতি, আপটাইমের প্রায় 20-30 দিনের মধ্যে আমি যখন আমি কেবল পুনরায় বুট করতে পছন্দ করি তখন আমি একটি বিন্দুতে পৌঁছে যাই। আমি জানি না কেন এমন হয়। আমি অনুমান করছি এটি কোনও কোনও ড্রাইভারের ফুটো বা অ্যান্টি-ভাইরাস হতে পারে। আপনার যদি কোনও পেজিং ফাইল থাকে, আমি বিশ্বাস করি এটি পেজিং ফাইলে এই ফাঁস স্মৃতিটি ফেলে দিতে পারে, তাই নিয়মিত উইন্ডোজ সিস্টেমে এই সমস্যাটি লক্ষ্য করা আরও কঠিন।
  • ফায়ারফক্স ক্রমের চেয়ে সামান্য মেমরির সাথে ভালভাবে ডিল করে। ফায়ারফক্স আপনাকে সতর্ক করে, এবং এখনও চলছে, ক্রোম কেবল ক্র্যাশ করেছে।

2

আমি মনে করি যে আপনার যুক্তিগুলি কোনও সার্ভারের জন্য যথেষ্ট বৈধ , যেখানে পারফরম্যান্স গুরুত্বপূর্ণ, এবং পরবর্তী কোন অ্যাপ্লিকেশনটি কাজ করবে তা জেনে রাখা অনুমানযোগ্য নয়।

একটি ডেস্কটপের জন্য তবে আমি যখন কাজগুলি ধাক্কা দিচ্ছি এবং পপিং করব তখন আমি অদলবদলকে দরকারী মনে করি।

উদাহরণস্বরূপ, আমি যদি অ্যাপ্লিকেশন ব্যবহার করে কোনও টাস্কে কাজ করছি Aএবং আমি আবিষ্কার করেছি যে Bকোনও কিছুর জন্য (যেমন একটি সাব টাস্ক, বা একটি বাধা) অ্যাপ্লিকেশন ব্যবহার করা দরকার Aতবে আমার কাজ করার সময় ডিস্কে অদলবদল করা মানসিক দিক থেকে সহজ easier মধ্যে Bতুলনায় বন্ধ করতে Aএবং তারপর পরে এটা আবার শুরু মনে রাখবেন।

এটি বিশেষত সত্য যদি Aকিছু সংরক্ষণে না থাকা অবস্থা ধরে থাকে যা পুনরায় চালু হওয়ার পরে পুনরুদ্ধার করা হবে না।

Aঅদলবদল থেকে / থেকে ধাক্কা ধাক্কা টানতে এবং এড়াতে দ্রুত হওয়া বা বন্ধ করা এবং পুনরায় আরম্ভ করা অ্যাপ্লিকেশনটির উপর নির্ভর করে। (কিছু কিছু আস্তে আস্তে শুরু করতে পারে তবে একটি ছোট আবাসিক আকার থাকে but)

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


আপডেট: এই উত্তরটি লেখার পরে, আমার কাছে প্রচুর র‍্যাম এবং একটি ধীর হার্ড ড্রাইভের একটি ল্যাপটপ মালিকানাধীন। সেক্ষেত্রে আমার পরামর্শটি উল্টে গেল! এখানে বিভিন্ন উপকারিতা এবং কনসের সংক্ষিপ্তসার রইল
জোয়েটউইডল

1

আমার সিস্টেমে, / টিএমপি খুব বেশি র‍্যাম গাব্বল করলে অদলবদল করে।

এটি / tmp এর জন্য একটি বাস্তব ফাইল সিস্টেম ব্যবহার করার চেয়ে অনেক দ্রুত।


এটি বেশ বিপজ্জনক - যদি আমার র্যামফগুলি দরকার হয় তবে আমি আকারটি স্পষ্টভাবে সেট করতে fstab (বা বিকল্পগুলি) এ নির্দিষ্ট করি। এটি ঠিক তেমনি সম্ভবত কোনও প্রোগ্রাম মেমরি বরাদ্দকরণের সাথে অ্যাপ-ক্রেপ পাগল হতে পারে কারণ এটি / টেম্পে ফাইল তৈরি শুরু করবে। র‌্যামফএস ফাইলগুলি প্রদর্শনের জন্য অদলবদল একটি খারাপ জায়গা হবে (বিশেষত যদি আপনি গতির জন্য র‌্যামফের উপর নির্ভর করে থাকেন)
সিনথেসাইজারপ্যাটেল

2
আমি প্রায়শই সেখানে র‍্যাম আকারের চেয়ে বেশি exceed অদলবদল দ্বারা সমর্থিত tmpfs স্পিলিংয়ের পরেও ext2 এর তুলনায় উল্লেখযোগ্যভাবে দ্রুত।
জোশুয়া

জানার জন্য দরকারী - এবং সম্ভবত দেখার জন্য ভবিষ্যতের একটি গবেষণা আইটেম হয়ে উঠবে - আমি এখনও tmpfs / ramfs in / tmp এর প্রক্সি দ্বারা আমার র‌্যাম পূরণ করার জন্য একটি অ্যাপ্লিকেশন সম্পর্কে উদ্বিগ্ন। যে আমাকে হিবি জীবিস দেয়!
সিনথেসাইজারপেটেল

তারপরে অদলবদলের সীমা = আকার নির্ধারণ করুন।
জোশুয়া

ঘটনাচক্রে, এটি ramfs এবং tmpfs এর মধ্যে পার্থক্য। tmpfs অদলবদল করতে পারে যখন ramfs পারে না।
জোশুয়া

1

অদলবদল যখন ব্যবহৃত হয় তখন অনেকগুলি কারণ রয়েছে।

সাধারণত, যখন সিস্টেমে পর্যাপ্ত শারীরিক মেমরি না থাকে, তখন কার্নেল অদলবদল করতে কিছু অ্যাপ্লিকেশন (প্রকৃতপক্ষে - মেমরির কিছু অংশ যা অ্যাপ্লিকেশন পরিচালনা না করে ব্যবহৃত হয়) রাখতে পারে।

পরে, যখন এই অ্যাপ্লিকেশনগুলিতে কিছু করা উচিত (উদাহরণস্বরূপ, কিছু ডেটা একটি সকেটে বা কিছু টাইমার ফায়ারে আসে) - কার্নেলটি কিছু অন্যান্য অ্যাপ্লিকেশনকে অদলবদল করে।

অদলবদলের ব্যবহারের আরেকটি উদাহরণ হ'ল ডিস্কে স্থগিত।

এম্বেড থাকা ডিভাইসগুলির বিষয়ে, তাদের সকলকে (কমপক্ষে) দুটি বড় গ্রুপে ভাগ করা যায়:

  1. তারা লিনাক্স / উইন্ডোজ বা অনুরূপ নন-আরটিওএস (রিয়েল টাইম ওএস) চালায়; অথবা
  2. তারা একটি আরটিওএস চালায়।

অবশ্যই কিছু ডিভাইস রয়েছে যা কিছু কোড চলছে (কিছু ধরণের মাইক্রোকন্ট্রোলার) ইত্যাদি etc. আমি সেগুলি বর্ণনা করব না কারণ এই জাতীয় ডিভাইসে কোনও ওএস নেই, সুতরাং অদলবদল নিয়ে আলোচনা করা এই জাতীয় ডিভাইসগুলির জন্য নির্বোধ।

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

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

  • অদলবদল থেকে পড়া অবিশ্বাস্য সময় নিতে পারে
  • ডিভাইসগুলির একটি পূর্বনির্ধারিত (সংকলন সময়ে) সংখ্যাগুলি অদলবদল করার প্রয়োজন হয় না

বিটিডাব্লু, লিনাক্স কীভাবে অদলবদল ব্যবহার করে সে সম্পর্কে অনেকগুলি বর্ণনা রয়েছে যার মধ্যে একটি হ'ল http://distilledb.com/blog/archives/date/2009/02/22/swap-files-in-linux.page
উইন্ডোজ ব্যবহার একটি অনুরূপ পদ্ধতির।


এছাড়াও, হাইবারনেশনের জন্য (ডিস্কে সাসপেন্ড) অদলবদলের প্রয়োজন হয় যদি না আপনি টুকসনিউসের মতো কিছু ব্যবহার করেন।
রেনান

1

আমার কাছে মনে হয় হাইবারনেশন এবং হাইব্রিড স্লিপ উভয়েরই লিনাক্সে অদলবদল দরকার

হাইব্রিড স্লিপ ব্যবহারের প্রয়োজনের মুখোমুখি না হওয়া পর্যন্ত আমি লিনাক্সে অদলবদল / পার্টিশনটি কখনই ব্যবহার করিনি - যেহেতু আপওয়ার দ্বারা পরিচালিত সমালোচনামূলক ব্যাটারির স্তরে ঘুম পাওয়া যায়নি, যা কেবল শাট-ডাউন, হাইবারনেট এবং হাইব্রিডের মধ্যে বেছে নিয়েছে -ঘুম. (আরও এখানে )


0

আমি দেখেছি কয়েকটি ভাল ব্যবহার হ'ল প্রক্রিয়াগুলি যা অনেক বেশি মেমরি ব্যবহার করে, তবে কার্য সম্পাদন সমালোচনা করে না। একটি কেস একটি প্রাচীন ফায়ারফক্স ছিল যার স্মৃতি খারাপ ছিল le এটি র‍্যাম পূরণ করবে এবং কোনও খারাপ প্রভাব ছাড়াই অদলবদল করতে ছড়িয়ে পড়বে। আমাদের আর একটি ছিল আমাদের পুনরাবৃত্ত ডিএনএস সেভার (যারা দ্রুত একটি বিশাল ক্যাশে তৈরি করে যা খুব কম ব্যবহৃত হয়)।

অদলবদলের বিষয়ে আমি অন্যান্য ব্যাখ্যাটি কিছুটা লাইন ধরেই ছড়িয়ে দিয়েছি: "আপনাকে সর্বদা SWAP = 2 * র‌্যামটি কনফিগার করতে বলা হয় This এটি সম্পূর্ণ আজেবাজে কথা, র‌্যাম এবং অদলবদলের মধ্যে কোনও সম্পর্ক নেই Sw অদলবদল মেমরির ব্যবহারে স্পাইককে সামঞ্জস্য করা , আপনার পর্যাপ্ত মেমরি যুক্ত করা উচিত যাতে আপনার লোডটি বেশিরভাগ সময় র‍্যামের সাথে ফিট করে। যদি আপনার বোঝাটি স্থিতিশীল থাকে তবে আপনার অদলবদলের প্রয়োজন হয় না If যদি আপনার বোঝা অত্যন্ত পরিবর্তনশীল হয় তবে আপনার স্পাইকগুলির জন্য পর্যাপ্ত পরিমাণের অদলবদল প্রয়োজন এবং যাতে ব্যবস্থা করেন যাতে অদলবদল খুব কম ব্যবহৃত হয়, যাতে সামগ্রিকভাবে পারফরম্যান্সের উপর প্রভাব না পড়ে। সংক্ষিপ্তসার, কারণ আপনার লোড স্পাইকগুলি কী তা জানেন না এবং যেমন ডিস্কটি র‌্যামের চেয়ে অনেক কম সস্তা, তাই সুইট = 2 * র‌্যামটি কনফিগার করুন। "

সোলারিসের কিছু পুরানো সংস্করণ র্যামের মতো কমপক্ষে স্ব্যাপ না হওয়া পর্যন্ত অদলবদল ব্যবহার করতে পারে না (আমার মনে আছে এটি র‍্যাম থেকে বেরিয়ে আসার জন্য নির্দিষ্ট স্বাপের জায়গা বা এরকম কিছু বরাদ্দ করেছে), তাই 2 * র‌্যামটি সত্যিই সর্বনিম্ন বুদ্ধিমানের কাছাকাছি ছিল মান। তবে এটি আগের ঘটনা ছিল, যখন আমাদের বড় মেশিনটিতে Mi৪ টি এমআইবি র‌্যাম এবং একটি জিআইবি ডিস্ক ছিল ...

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