মেমরি-নিবিড় কাজের জন্য 64 গিগাবাইট র্যাম কম্পিউটারে পার্টিশনের আকার স্যুপ করুন


35

আমার 64 গিগাবাইট র্যাম এবং 240 গিগাবাইট আছে এসএসডি আমার কম্পিউটারে, যা আমি মেমরি-নিবিড় গণনার জন্য ব্যবহার করতে যাচ্ছি (মেশিন লার্নিং, ডেটা মাইনিং, ইত্যাদি)। ইন্টারনেটে পাওয়া বেশিরভাগ পরামর্শই প্রায় ২-4-8 গিগাবাইট র্যাম কম্পিউটার, এবং তারা RAM স্য্যাপ পার্টিশনের ২ x সাইজের সুপারিশ করে (তাই 128 গিগাবাইট)।

128 গিগাবাইট সোয়াপ পার্টিশন নির্মাণ করা কি যুক্তিযুক্ত? আমি একটি বিশাল সোয়াপ পার্টিশন করে কি সুবিধা পেতে পারি?

আমি সঠিকভাবে বুঝতে পারি যে, যদি আমি শারীরিক RAM এর বাইরে চলে যাই:

  1. যদি আমার কোনও সোয়াপ না থাকে তবে আমি একটি 'মেমরির বাইরে' ত্রুটি পেতে পারি
  2. যদি আমার স্ন্যাপ থাকে তবে কিছু RAM পৃষ্ঠাগুলি সোয়াপ বিভাজনে অনুলিপি করা হবে এবং প্রোগ্রাম চলতে থাকবে (যদিও ধীরে ধীরে)।

কিছু লোক বলে এসএসডি তে সোয়াপ তৈরি করা খারাপ ধারণা, কারণ এতে সীমিত পরিমাণে পড়া / লেখার চক্র রয়েছে। সোয়াপ ব্যবহার করে কত দ্রুত এটি এসএসডি পড়ার / লেখার চক্রগুলি নিষ্কাশন করবে (যতদূর আমি জানি, এটি প্রায় 50000 লিখুন IOPS)?

আমি লিনাক্স ব্যবহার করছি উবুন্টু 14.04 (বিশ্বস্ত Tahr))।

এখন জন্য 16 গিগাবাইট সোয়াপ সেট করতে যাচ্ছি, কারণ এটি নিশ্চয়ই যথেষ্ট (উদাহরণস্বরূপ, রেডহ্যাট 4 গিগাবাইট প্রস্তাব করে), এবং 16 গিগাবাইট ডিস্ক স্পেস আসলে একটি বড় চুক্তি নয়।


1
স্বতঃস্ফূর্তভাবে নির্ভর করার পরিবর্তে, যদি আপনি আপনার কাজের সেটআপের আকারের আকার জানেন, বা আরও বেশি নিম্ন-স্তরের মেমরি পরিচালনা করতে ইচ্ছুক হন, তবে ব্যবহার করে বিবেচনা করুন mmap আপনার কাজ-সেট পৃষ্ঠা বরাদ্দ করতে। তারপরে আপনার স্য্যাপের পরিমাণটি আপনার প্রক্রিয়াটির জন্য আপনার প্রয়োজনীয় পরিমাণের পরিমাণ হবে।
fluffy

5
"RAM এর দ্বিগুণ পরিমাণ" সুপারিশ করার পরামর্শটি পুরানো সময়ের সাথে সম্পর্কিত, যখন কম্পিউটারগুলির সামান্য RAM থাকে। বেশ কয়েকটি ডক্স বলে যে এটি প্রাথমিকভাবে কম্পিউটারের সাথে প্রযোজ্য & lt; 2 গিগাবাইট র্যাম। উপরে যে, সোয়াপ আকারটি আপনি মেশিনের সাথে যা করছেন তার সাথে সম্পর্কিত।
John WH Smith

এই দেখুন সার্ভার ফল্ট q & amp; A - যদি আপনি জাভা (এবং সম্ভবত অন্যান্য অ্যাপ্লিকেশনগুলি) চালাচ্ছেন, তবে আপনি তাদের মেমরি বরাদ্দ বাড়ানোর জন্য যথেষ্ট পরিমাণে সোয়াপ আছে তা নিশ্চিত করতে চান। আমি ব্যক্তিগতভাবে আমার সোয়াপ পার্টিশনের জন্য RHEL মান RH + 2 দিয়ে আটকাও
warren

2
এটি লজ্জাজনক এখানে বেশিরভাগ মন্তব্য সরানো হয়েছে। এতে যোগ করা হচ্ছে: ঘটনাচক্রে, উল্লেখযোগ্য যে, যদি আপনার কার্নেল এটি সমর্থন করে তবে আপনি আপনার সোয়াপ পার্টিশনটি মাউন্ট করতে ইচ্ছুক discard একটি এসএসডি উপর। এছাড়াও (এবং এটি নীচের একটি উত্তরতে উল্লেখ করা হয়েছে), আপনি সহজেই সহজ পরিচালনার জন্য একটি পার্টিশনের পরিবর্তে একটি ফাইল ব্যবহার করতে পারেন (এবং যেমন বিভাজনকরণের কারণে কোনও এসএসডিতে কোন কর্মক্ষমতা হিট হয় না)।
Jason C

1
যদি আপনার একটি মেমরি নিবিড় অ্যাপ্লিকেশন থাকে, যেমন SVM লার্নিং, এবং আপনি RAM এর বাইরে চলে যান এবং সোয়াপিং শুরু করেন, সবকিছু পুনরুদ্ধারের জন্য খুব অলস হয়ে যাবে এবং আপনার একমাত্র উপলব্ধ পদক্ষেপ প্লাগটি টেনে আনতে যাচ্ছে (যা আমার সাথে কয়েকবার ঘটেছে) । আপনি সম্ভবত আপনার প্রক্রিয়াটি সোয়াপিং শুরু করলে OOM- কে হত্যা করতে চান, যাতে আপনি কমপক্ষে স্টাফ পরিবর্তন করতে এবং আবার শুরু করতে পারেন। এসএসডি ড্রাইভের সাথে এটি যদিও খুব খারাপ না। আমি OOMK সেটিংসও চেক করব - এটি আমার কাছে ঘটেছে উবুন্টুতে যে কখনও কখনও প্রসেসগুলি OOM-kill হয়েছিল যখন প্রচুর RAM বামে ছিল কারণ তারা আক্রমণাত্মকভাবে বরাদ্দ করেছিল।
pqnet

উত্তর:


35

আপনি সম্ভবত শুধুমাত্র একটি ছোট পরিমাণে swap প্রয়োজন। আপনার কম্পিউটারের আদর্শ কাজের সেটের জন্য আপনার কাছে পর্যাপ্ত RAM থাকলে, যা আমি নিশ্চিতভাবেই করতে পারি, আপনি কেবল দুটি জিনিসগুলির জন্য সোয়াপের প্রয়োজন:

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

  2. আপনি ভরাট করা হবে যে বরাদ্দ কভার Swap প্রয়োজন। এটি ব্যবহার করা হবে না, যদিও এই স্থান সহজভাবে পাওয়া যেতে হবে। এটি ছাড়া, সিস্টেমটি প্রচুর পরিমাণে ফ্রি ফিজিক্যাল র্যাম থাকলেও মেমরি বরাদ্দ করতে অস্বীকার করতে হবে কারণ এটিতে তার সমস্ত বরাদ্দ একবারে ব্যবহারের জন্য অপর্যাপ্ত ব্যাকিং স্টোর রয়েছে।

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

(আমি বার্টের সাথে একমত যে 4 গিগাবাইট যথেষ্ট হতে পারে।)


2
@wrwt ড্রাইভের শেষে (অথবা অন্তত আপনার ডেটা পার্টিশনের পরে) আপনার সোয়াপ পার্টিশনটি রাখুন, এটি পুনরায় আকার পরিবর্তন করে আপনি এটির সাথে সামঞ্জস্য করতে পছন্দ করে নিন (আরও বিশেষভাবে এটি ডেটা পার্টিশনকে আকার পরিবর্তন করবে) এটি সহজে মিটমাট করার জন্য, যেহেতু আপনি শুরু করতে চান না)। কখনও কখনও যান্ত্রিক ড্রাইভ হয় হিসাবে এসএসডি উপর অবস্থান এবং কর্মক্ষমতা মধ্যে কোন লিঙ্ক নেই।
Jason C

যদিও এই উত্তর সম্ভবত বেশিরভাগ শখের জন্য যথেষ্ট, তবে এটি বাস্তব সার্ভারগুলির জন্য খারাপ পরামর্শ - উত্তরটি অ্যাপ্লিকেশানটি কীভাবে লিখিত হয় তার উপর নির্ভর করে, কারণ সোয়াপ স্পেসের বাইরে থাকা আউট-অফ-মেমরি হত্যাকারকে kick-in এবং বন্ধ করে দেবে। র্যান্ডম দ্বারা প্রক্রিয়া (হ্যাঁ আপনি যে অধিকার পড়া; "র্যান্ডম")
Soren

3
@ সোরিন এটি superuser, সার্ভারফুল না। ;) এটি অবশ্যই সত্য যে সোয়াপ স্থানটি সেট করা আপনাকে "বাস্তব সার্ভারগুলির" জন্য তৈরি করার একমাত্র সিদ্ধান্ত নয়। অতিরিক্ত জিনিসগুলি সম্পর্কে আপনার সিদ্ধান্তগুলিও নিতে হবে, আপনাকে OOM killer সুরক্ষার প্রয়োজন হতে পারে, ইত্যাদি। (এবং যদি আপনার কাজের সেটটি দৈহিক RAM থেকে বেশি হয় তবে উত্তরগুলি আরও জটিল হয়ে যায়। তবে প্রায় কেউই এমন যন্ত্র পরিচালনা করে না।)
David Schwartz

5
কোনও সোয়াপ সক্ষম না থাকলেও লিনাক্স মেমরির অতিরিক্ত সীমাবদ্ধ করবে। খুব বেশী মেমরি আসলে ব্যবহার করা হয় যখন এটি শুধু OOMK প্রসেস করবে। তাই উত্তর দ্বিতীয় পয়েন্ট ভুল।
Ruslan

1
@ ম্যাক্সিজ পাইচটকা অথবা একটি ফাইল ব্যবহার করুন।
Jason C

29

লাল টুপি 64 গিগাবাইটের সাথে একটি মেশিনে 4 গিগাবাইট সুপারিশ

তবে, স্কেপ আকার পরিবর্তন একটি বিজ্ঞান চেয়ে একটি শিল্প। এটি কিসের জন্য মেশিন ব্যবহার করা হচ্ছে, আপনার কত ডিস্ক স্থান এবং মেমরি আছে এবং অন্যান্য বিষয়গুলিতে এটি নির্ভর করে। মনে রাখবেন, আপনি সবসময় পরে আরো swap যোগ করতে পারেন।

2X ফিজিক্যাল মেমরি রুল ব্যবহার করে মেমরি সিস্টেমে এই দিনগুলি পুরানো হয়। তবে আপনি কী করছেন তা জানেন না তবে শূন্য সোয়াপ দিয়ে চলমান সুপারিশ করা হয় না। 4 গিগাবাইট সুপারিশ একটি ভাল শুরু বিন্দু।


12
শেষ অনুচ্ছেদের জন্য +1। সাধারণ ব্যবহারের ক্ষেত্রে সোয়াপিং এড়াতে বেশিরভাগ কম্পিউটারগুলিতে পর্যাপ্ত RAM থাকা না থাকলে 2x সুপারিশ তারিখগুলি ফিরে আসে। বিষয়বস্তুর সাথে, কম্পিউটারগুলি ব্যবহার করার পরে, 2x সীমাটি এমন একটি সংখ্যা হিসাবে নির্বাচন করা হয়েছে যা সোয়াপটি চালানোর আগে কম্পিউটারটি অপ্রত্যাশিতভাবে ধীর হয়ে যাবে।
Dan Neely

1
সিস্টেমে 4 গিগাবাইট / 8 গিগাবাইট র্যাম এবং ডিস্ক স্পেসে শত শত গিগাবাইট থাকলেও 2X সূক্ষ্ম কাজ করে। অবশ্যই, এটি সম্ভবত প্রয়োজন ছিল বেশী, কিন্তু ক্ষতি কি ছিল? কিন্তু এখন যে সিস্টেমে 16 গিগাবাইট / 64 গিগাবাইট র্যাম এবং 128 গিগাবাইট / 256 গিগাবাইট এসএসডি রয়েছে, ক্ষতি স্পষ্ট।
David Schwartz

12

লিনাক্সে, আপনার যথেষ্ট পরিমাণে সোয়াপ প্রয়োজন যাতে আপনার সমস্ত ভার্চুয়াল মেমরি উপলব্ধ (RAM + SWAP) সমস্ত প্রসেসগুলির জন্য একসাথে এবং সর্বাধিক ভার্চুয়াল পাদচরণের জন্য যথেষ্ট।

যদি আপনার এর চেয়ে কম সোয়াপ থাকে বা কোনও সোয়াপ না থাকে তবে নিম্নোক্ত পরিস্থিতিটি ঘটে: সিস্টেমটি একটি পৃষ্ঠা বরাদ্দ করার চেষ্টা করে মেমরির বাইরে চলে। কিন্তু, এটি এখনও একটি নরম ব্যর্থতা, যদিও কোনও সোয়াপ নেই, কারণ সিস্টেমটিতে প্রচুর "শিকার" পৃষ্ঠা রয়েছে যা ঘর তৈরির জন্য সরানো যেতে পারে: যেমন, ফাইল-ব্যাকডেড মেমরি ম্যাপিংয়ের পৃষ্ঠাগুলি যেমন এক্সিকিউটেবল এবং শেয়ারকৃত লাইব্রেরি!

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

সোয়াপ স্থানটি অজ্ঞাত (ফাইলের ম্যাপড নয়) পৃষ্ঠাগুলি স্য্যাপড করার জন্য একটি স্থান প্রদান করে এই সমস্যাটিকে মৃদু করে তোলে: মেমরি বরাদ্দকরণের জন্য ব্যবহৃত পৃষ্ঠাগুলি যাতে এক্সিকিউটেবল কোড মেমরিতে থাকতে পারে।

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

dd if=/dev/zero of=/path/to/swapfile size=$((1024 * 1024)) count=32768  # 32 Gb.
mkswap /path/to/swapfile
swapon /path/to/swapfile

যখন আপনি এটি আর প্রয়োজন হবে না:

swapoff /path/to/swapfile
rm /path/to/swapfile

নোট:

  1. আপনার অবশ্যই RAM এর মতো কমপক্ষে সোয়াপ কনফিগার করার প্রয়োজন নেই। থাম্বের এই নিয়মটি অপারেটিং সিস্টেমে ফিরে যায় যেখানে এটি সোয়াপিংয়ের পরিকল্পনার কারণে একটি কঠিন প্রয়োজন ছিল।

  2. যখন কোন মেমরি পাওয়া যায় না তখন লিনাক্সকে হার্ডলেস করার জন্য উপায়গুলি রয়েছে, অর্থাত্ এই sysctl এন্ট্রিগুলির মানগুলি ম্যানিপুলিউটিংয়ের মাধ্যমে:

    vm.overcommit_memory
    vm.overcommit_ratio
    

2
আসলে কার্নেল কনফিগারেশন প্যারামিটারে রেফার করার জন্য +1 - কীটি প্রশ্নটির অংশে রয়েছে If I have no swap, I get an 'out of memory' error -- যা হলো false - সত্য হল যে যখন আপনি সোয়াপ স্পেসটি শেষ করবেন তখন আউট-অফ-মেমরি-কিলারটি স্থানটি মুক্ত করতে একটি র্যান্ডম প্রক্রিয়াটি কেটে ফেলবে এবং আপনার অ্যাপ্লিকেশনটি কীভাবে লিখিত হবে তার উপর নির্ভর করে প্রয়োজনীয় সোয়াপ স্থানটি সন্নিবেশিত হবে।
Soren

@ সোর্ন এটা সম্ভবত অধিকাংশ RAM প্রকৃত তথ্য দিয়ে ভরাট হবে, তাই আউট-মেমরি হত্যাকারী অনেক পার্থক্য করবে না। যাইহোক 'সত্য' জন্য Thx।
wrwt

3

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

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


1
@ কাজ আমি মনে করি তুমি কাস্টের চেয়ে আলাদা কিছু বলছ। কাস্ট বলছে যে আপনি যদি আপনার কম্পিউটারটিকে সাসপেন্ড / হাইবারনেট করতে চান তবে এটি বন্ধ করুন এবং পরে যেখানে আপনি ছেড়ে চলে যান তা চয়ন করুন, আপনার সমস্ত RAM সঞ্চয় করতে আপনার যথেষ্ট পরিমাণে সোয়াপ স্থান প্রয়োজন (এটি কোথায় যাবে?)।
amalloy

@amalloy আপনি যদি আপনার স্য্যাপ স্পেসে আপনার RAM সংরক্ষণ করেন, তবে কোথায় সোয়াপ যান (মনে রাখবেন যে সোয়াপটিকে মেমরি হিসেবে মনে করা হয় - যদি এটি হারিয়ে যায় তবে এটি RAM হারানোর মতো)।
NPSF3000

2

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

আধুনিক অপারেটিং সিস্টেমগুলি ভার্চুয়াল মেমরিটি প্রকৃত মেমরি এবং সোয়াপ স্পেসের সমন্বয় হিসাবে সরবরাহ করে, তাই যদি মেশিনটি আপনার চেয়ে বেশি মেমরির প্রয়োজন হয় অবশ্যই ফাঁক পূরণ করতে যথেষ্ট সোয়াপ স্থান যোগ করুন। অর্থাত যদি আপনার 80 গিগাবাইট সর্বোচ্চ প্রয়োজন হয় এবং মেশিনটি 64 গিগাবাইট থাকে তবে আপনার 16 গিগাবাইট সোয়াপ প্রয়োজন।

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

আপনার মেমরি চাপ সবসময় কম হলে swapspace ছাড়া কাজ সঙ্গে কিছুই ভুল আছে। লিনাক্স স্বচ্ছভাবে কোন অব্যবহৃত মেমরি একটি ডিস্ক ক্যাশে ব্যবহার করবে।


2

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

একটি র্যান্ডম উদাহরণ যা এই গ্রীষ্মে আমার সাথে অবিলম্বে প্রাসঙ্গিক ... চতুর্ভুজ চলাচল বাস্তবায়নের জন্য, একটিকে চিহ্নিত করার জন্য একটি বড় (দৃশ্যত) সংলগ্ন অ্যারের প্রয়োজন হয় (কিছু জটিল অ্যালগরিদম সহ যার বিবরণ আসলে এই উদাহরণের জন্য গুরুত্বপূর্ণ নয়)। অ্যারের ~ 100 গিগা-এন্ট্রি হতে হবে, যাতে 1 টি বিবি পরিসরের মধ্যে সহজে। আমি এটি বরাদ্দ করতে ভান করতে পারতাম এবং অ্যামের মাধ্যমে সমস্ত ক্রমশই লিখতে সমর্থ হয়ে ওএস এর বাইরে এবং বাইরে র্যাম পেতে অপ্রত্যাশিত স্যুপিংয়ের অপারেটিং সিস্টেমকে অসাধারণ পরিমাণে কাজ করতে দেয়। হাড়ের মতো কিছু করার পরিবর্তে, আমি এমন একটি ছোট অ্যারে বরাদ্দ করার ব্যবস্থা করেছি যা মেমরিতে ঠিক থাকে এবং তারপর সামান্য অ্যারেটি পুনঃব্যবহার করে যাতে টুকরো টুকরা বড় বড় অ্যারে ঢোকাতে পারে। আমি অপারেটিং সিস্টেমটি বন্ধ করে দিয়েছি, শেলটিকে প্রতিস্থাপিত করেছি, শেলটি প্রতিস্থাপিত করেছি, এবং মেমরি বরাদ্দকারীর দুটি স্তরের কাস্টমাইজড করেছি যাতে তারা যতদূর সম্ভব সংস্পর্শে থাকা আমার প্রসেসে উপলব্ধ ঠিকানা স্থানটি রাখতে তাদের অলসতম কাজ করতে পারে।

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


1

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

আপনার যদি অতিরিক্ত USB 3.0 পোর্ট থাকে তবে আমি আপনার সোয়াপ স্পেসের জন্য একটি ফ্ল্যাশ ড্রাইভ ব্যবহার করে সুপারিশ করব। আপনার এসএসডি যত তাড়াতাড়ি দ্রুত উচ্চ গতির ফ্ল্যাশ ড্রাইভ রয়েছে, তবে অনেক সস্তা - এটি ব্যর্থ হতে শুরু করলে প্রতিস্থাপনের জন্য যথেষ্ট সস্তা। অ্যামাজনে একটি দ্রুত অনুসন্ধানের মাধ্যমে দেখানো হয়েছে যে 16 গিগাবাইট ইউএসবি 3.0 ফ্ল্যাশ ড্রাইভ $ 20 এর কম এবং এমনকি 64 গিগাবাইটেরও কম 64 গিগাবাইট ড্রাইভ রয়েছে।

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


3
এসএসডি-তে সোয়াপিং না করার জন্য +1, -1 এমন উপাদানটিতে সোয়াপিংয়ের জন্য যা এরকম ব্যবহার করার সময় খুব ছোট জীবনকাল থাকে।
Aviator45003

1
@ T.C। ঠিক আছে, আরমানএক্স - যদি আপনি ফ্ল্যাশ (এসএসডি) ব্যবহার এড়ানোর চেষ্টা করছেন, তবে কেন আপনি ইউএসবিতে ফ্ল্যাশ ব্যবহার করবেন? যে অযৌক্তিক।
warren

2
@ টিসিঃ মিডিয়াম পরিধান করার কারণে সোয়াপের জন্য এসএসডি ব্যবহার করাটা একটি অযৌক্তিক শহুরে কিংবদন্তী নয়। Swapping "সব সময়" ঘটবে না, কিন্তু খুব কমই। এছাড়াও, এটি উইন 7 মুক্তির পরে মাইক্রোসফ্টে ব্যাপকভাবে গবেষিত হয়েছে যার ফলে সোয়াডের সাধারণ অ্যাক্সেসের নমুনাগুলি এসএসডি (যা উইন্ডোজ নয়, উবুন্টু নয়, তবে সম্ভবত লিনাক্স অনেক খারাপ কাজ করে না) এর জন্য গ্রহণযোগ্য। আপনার সশব্দ লগ ফাইলগুলি যে কেউ কখনও পড়তে পারে না সে কারণে আপনার এসএসডিটি পরা একশত (বা হাজার) বারের বেশি লেখা পরিচালনা করে থাকে (সাধারণত প্রতিটি লাইন সিঙ্ক করে)।
Damon

যুক্তিটি ত্রুটিযুক্ত: যদি থংড্রাইভটি এসএসডি হিসাবে দ্রুত হয় তবে কেন এটি সস্তা?
Agent_L

এটি একটি ভারসাম্য। একদিকে, একটি সোয়াপ ফাইল থাকা ভাল ধারণা। অন্যদিকে, যদি কোন সোয়াপ ফাইল একটি এসএসডি পরিধান করে (যা আপনি সঠিক, এটি সম্ভবত কোন ব্যাপার না), এটি একটি সস্তা প্রতিস্থাপন ব্যবহার করা ভাল হবে - এবং $ 20 এর জন্য একটি ফ্ল্যাশ ড্রাইভটি তুলনায় অনেক ভাল 100 ডলারের বেশি একটি এসএসডি।
ArmanX

1

আপনি এমনকি swap এর 1 জিআইবি (এবং সম্ভবত কম) সঙ্গে জরিমানা হবে। আমার কাজ কম্পিউটার সাধারণত 140-150 MiB এর বেশি ব্যবহার করে না। একটি গিগাবাইট যে জন্য অতিরিক্ত-সংস্থান প্রচুর।
যতক্ষণ না আপনি গণনাগুলি করেন যা শত শত গিগাবাইটে ডেটাসেটগুলির প্রয়োজন এবং (এটি এক গুরুত্বপূর্ণ!) একাধিক ফ্যাশন অ্যাক্সেসে অ্যাক্সেস করা হয় - একবার আপনি কোনও সোয়াপটি তার থেকেও বেশি বড় করতে চান না। কিন্তু তারপর আবার, কেবল একটি ডেটাফিলের মেমরি ম্যাপিং যে অ্যাপ্লিকেশনের জন্য সমানভাবে ভাল কাজ করে।

কিন্তু আরো swap আরো সাহায্য করে, অধিকার? আরো কিছু সবসময় ভাল!

16 গিগাবাইটটি তৈরি করবে (বা 64 জিআইবি সম্পর্কে চিন্তা করবে) এর একটি স্বতঃস্ফূর্ততা বিবেচনা করুন। যদি আপনি এই 16 জিআইবি ব্যবহার না করেন তবে আপনি প্রথম স্থানে একে অন্যের পাশে রাখতে পারতেন না। কিন্তু যদি তুমি করো তাদের ব্যবহার, কি হবে? প্রধান মেমরি তুলনায় ডিস্ক, অত্যধিক ধীর। এমনকি একটি SATA-600 এসএসডি সহ, 16 জিআইবি স্থানান্তরিত 30 থেকে 40 সেকেন্ডের মধ্যে, এবং অন্য কোন কনফিগারেশনগুলিতে 2-4 গুণ দীর্ঘ সময় নেয়।
এখন কেউ অনিবার্যভাবে অবজেক্ট করবে যে আপনি বরং এক ডজন বা তাই 4 ইজিবি পৃষ্ঠাগুলি পজিশন করছেন, না 16 জিআইবি একসাথে। যে সত্য যদিও, বিন্দু তবুও দাঁড়িয়েছে। যদি আপনি শুধুমাত্র কয়েকটি পৃষ্ঠাতে স্যুইপ করতে এবং বাইরে যেতে চান, তবে আপনাকে সোয়াপের 16 জিআইবি প্রয়োজন হবে না, তবে যদি আপনার 16 জিআইবি স্ন্যাপ প্রয়োজন হয়, তবে আপনিও সেগুলি স্থানান্তর করতে যাচ্ছেন (এক উপায় বা অন্য)।

তত্ত্ব অনুসারে, 99.9% ব্যবহারকারীরা 64 গিগাবাইট মেশিন (অথবা কোনও 8 + জিআইবি মেশিন) ব্যবহার করে কোনও সোয়াপ ছাড়াইও ব্যবহার করতে পারে, এবং সম্ভবত কোনও অনুপস্থিতি লক্ষ্য করে না। তবে, এই পরামর্শযোগ্য নয়।
প্রথমত, এটি উপ-সর্বোত্তম কারণ কারন এটি যখন শারীরিক মেমরি থেকে বের হয় তখন অপারেটিং সিস্টেমে এটি কীভাবে বাতিল করা যায় তার কম পছন্দ থাকে। এটি করতে পারেন এমন দুটি জিনিস রয়েছে: যা ব্যবহার করা হয় না তা স্য্যাপ করুন বা বাফার ক্যাশে পৃষ্ঠাগুলি সরিয়ে দিন। যদি আপনার কোন সোয়াপ না থাকে তবে এটি কেবল একটি জিনিস যা করতে পারে। বাফার ক্যাশে থেকে পৃষ্ঠাগুলি নিক্ষেপ করা ক্ষতিকারক, তবে এটি কার্যত কার্যক্ষমতাকে প্রভাবিত করতে পারে।
দ্বিতীয়, বেসরকারী বেনামী মেপিংগুলি যদি কোন সোয়াপ না থাকে তবে কেবল ব্যর্থ হতে পারে। সাধারণত এটি ঘটবে না, কিন্তু অবশেষে যখন তাদের যথেষ্ট পরিমাণে শারীরিক মেমরি পাওয়া যায় না তখন তাদের সন্তুষ্ট করার জন্য, এবং কোনও সোয়াপ নেই, অপারেটিং সিস্টেমটি কেবলমাত্র এই পছন্দটি ছাড়া ...
তৃতীয়ত, ভয়ঙ্কর ওওএম হত্যাকারীরা কাঁপতে পারে। যার মানে একটি কম বা কম র্যান্ডম প্রক্রিয়া পাওয়া যায়। না, ধন্যবাদ. এটি এমন কিছু নয় যা আপনি ঘটতে চান।

এর সাথে যেমন পরামর্শ দেওয়া হয়েছে, তেমনি পরামর্শের জন্য আপনাকে RAM- র পরিমাণে X-র পরিমাণের পরিমাণের প্রয়োজন দেখা দেয়, যা এমন কিছু লোকের কাছ থেকে আসে যা তারা শুনেছেন (এবং বুঝতে পারছেন না! আগে।
1980 এবং 1990-এর দশকে "থাম্ব 2x আপনার র্যাম" নিয়মটি সহজ ছিল মনে রাখা সহজ, এটি কখনও কখনও "সুবর্ণ সত্য" ছিল না (বেশিরভাগ ব্যবহারকারীর জন্য ঠিক কাজ করে এমন কিছু), এবং এটি আজকাল প্রযোজ্য নয় ।

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

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