অদলবদলের স্মৃতি কী?


26

আমি আমার কিছু ডাটাবেস টেবিল সংরক্ষণের জন্য র‌্যাম ব্যবহার করছি এবং অন্যগুলি হার্ড ডিস্কে সঞ্চিত।

আজ আমি জানতে পারি যে আমার প্রক্রিয়াগুলি অদলবদল মেমরি ব্যবহার করছে। এখন অদলবদল মেমরি কী এবং আমি কীভাবে সনাক্ত করতে পারি যে কোন প্রক্রিয়াটি অদলবদল মেমরি ব্যবহার করছে এবং আমি কীভাবে তাদের এটি ব্যবহার থেকে বিরত রাখতে পারি?


কোন প্রক্রিয়াগুলি অদলবদল মেমরি ব্যবহার করছে তা জানার কোনও উপায় নেই ???

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

অদলবদল প্রতি-প্রক্রিয়াজাতীয় জিনিস নয়, এটি সম্পূর্ণ ওএসের জন্য। "ভিএমস্ট্যাট" আপনাকে কতটা সোয়াপ ব্যবহার করছে সে সম্পর্কে তথ্য প্রদর্শন করবে।
jrockway

আমি লিনাক্সে উইমডোয়াসে কাজ করি না

এই অদলবদলের কারণটি পেয়েছেন ..... কেউ আমার সাইটটি পার্স করার চেষ্টা করছিল তা কেন আমাদের পক্ষ থেকে কোনও কারণ ছাড়াই পুরো থ্যাং ডাব্লুএস ঘটছে your আপনার উত্তরগুলির জন্য ধন্যবাদ এটি আমাকে বরাবরের মতো অনেকটা সহায়তা করেছে :-)

উত্তর:


41

যদি আপনি শারীরিক মেমরির বাইরে চলে যান তবে আপনি ভার্চুয়াল মেমরি ব্যবহার করেন যা ডিস্কে মেমরিতে ডেটা সঞ্চয় করে। ডিস্ক থেকে পড়া হ'ল মেমরি থেকে পড়ার চেয়ে ধীরে ধীরে বিস্তারের কয়েকটি অর্ডার হয়, সুতরাং এটি সবকিছু ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে নামিয়ে দেয়। (সত্যিকারের মেমরি এবং ভার্চুয়াল মেমরির মধ্যে ডেটা এক্সচেঞ্জ করা হ'ল "অদলবদল।" ডিস্কে স্থানটি "অদলবদল")

যদি আপনার অ্যাপ্লিকেশনটি "অদলবদল" ব্যবহার করে থাকে, তবে আপনাকে হয় কম স্মৃতি ব্যবহার করতে হবে বা আরও বেশি র‌্যাম কিনতে হবে।

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


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

@ ফিফর্টান, দ্বিগুণ নির্ভুলতার জন্য ভার্চুয়াল মেমরিটি হ'ল শব্দটি যা উইন্ডোজ যখন পেজিং (অদলবদল) ফাইলকে বোঝায় তখন ব্যবহার করে
sleblanc

7

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

প্রতিবার যখন আমাদের সেই মেমরিটি প্রয়োজন তখন এটি আবার স্মৃতিতে সরে যেতে হবে (অন্য কোনও টুকরোগুলি অদলবদল করে)। বিলম্ব হ্রাস করার জন্য অত্যন্ত বুদ্ধিমান অ্যালগরিদম রয়েছে তবে এখনও মাঝে মাঝে আমাদের অপেক্ষা করতে হয়।

উইন্ডোজগুলিতে, আপনি যদি টাস্ক ম্যানেজারের দিকে নজর দেন তবে কলাম পৃষ্ঠার ত্রুটিগুলি দেখাতে পারেন। এটি সময়ের সংখ্যা দেখায়, একটি অ্যাপ্লিকেশন ডিস্কে থাকা মেমরির একটি অংশের জন্য জিজ্ঞাসা করে এবং অদলবদল করা দরকার। প্রচুর পৃষ্ঠা ফল্ট = ধীর প্রয়োগ application

এই প্রক্রিয়াটি বিভিন্ন স্তরে ব্যবহৃত হয়। দ্রুত থেকে ধীর পর্যন্ত একটি সারাংশ:

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

3
cat /proc/pid/smaps

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

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

অদলবদু কী এবং ভার্চুয়াল মেমরি কীভাবে কাজ করে তা জানার জন্য ... আমি আপনাকে কয়েকটি অপারেটিং সিস্টেমের বক্তৃতাগুলিতে নজর দেওয়ার পরামর্শ দিচ্ছি, সম্ভবত এমআইটি ওপেন কোর্সওয়্যারের সাহায্য হতে পারে।


যেহেতু অনেকগুলি লিনাক্স ডিস্ট্রোজে ডিফল্ট কনফিগারেশন হ'ল কম মেমোরি, তাই হ'ল "সবচেয়ে খারাপ" হ'ল OOM হত্যাকারী স্নিপিং প্রক্রিয়া শুরু করবে, সম্ভবত ডিবিএমএস দিয়ে শুরু হবে (এবং "র‌্যামে সঞ্চিত টেবিলগুলি" সম্ভবত এটি ভাল নয়) জিনিস)।
5:36

1

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

হালনাগাদ

অদলবদল স্পেস (বা ভার্চুয়াল মেমরি) কোথায় তা জানতে আপনি টাস্ক ম্যানেজারে (CTRL + ALT + DEL) যেতে পারেন এবং ভিউ -> কলম্বস -> ভার্চুয়াল স্মৃতি থেকে চালু করতে পারেন। এখন কেবল মেমরির ব্যবহার এবং ভার্চুয়াল মেমরির মধ্যে পার্থক্য গণনা করুন। এছাড়াও আপনি যদি ভিস্তা চালাচ্ছেন তবে এটি কীভাবে দেখুন তা এখানে একটি নির্দেশনা রয়েছে: http://www.ehow.com/how_5067693_increase-swap-space.html


-1

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

সোয়াপ ব্যবহার থেকে প্রক্রিয়াগুলি বন্ধ করতে - আরও র‌্যাম ইনস্টল করুন।


1
আপনি যদি কোনও অদলবদল করতে না চান তবে একটি পৃষ্ঠা ফাইল ব্যবহার বন্ধ করুন। তবে অন্যান্য সমস্যাগুলি আশা করুন।

1
এটা না। অদলবদল হার্ডডিস্ক থেকে ডেটা একটি ব্লককে শারীরিক স্মৃতিতে সরানো হচ্ছে । এককালীন পড়া, যা সাধারণত পর্যাপ্ত দ্রুত হয়।

@xtofl উত্তরে অদলবদলের কথা বলা হয়নি, কেবল পার্টিশনের অদলবদল করা হয়েছে, এবং গেমক্যাটের মন্তব্যে আপনার যা বলা হয়েছে তাতে কিছু করার নেই? : পি
র‌্যাপিডওয়েবস

-1

আপনি যদি না চান যে আপনার প্রক্রিয়াগুলি অদলবদল-মেমরি ব্যবহার করতে পারে, কেবলমাত্র অদলবদল মেমরি সম্পূর্ণ অক্ষম করুন। দুর্ভাগ্যক্রমে, আপনি যদি কখনও স্মৃতিশক্তি থেকে সরে যান তবে কিছু স্মৃতি ব্যবহারের জন্য মুক্ত করার জন্য লিনাক্স কার্নেল আপনার চলমান কিছু প্রক্রিয়া মেরে ফেলবে।

আপনার সিস্টেমে পর্যাপ্ত র‍্যাম থাকলে আপনি আসলে অদলবদলের স্মৃতি ছাড়াই যেতে পারেন।

আমার কাছে 768Mb র‌্যামের একটি ল্যাপটপ রয়েছে যা স্ব্যাপ স্মৃতি ব্যবহার করে না। এটি আমার প্রয়োজনের জন্য যথেষ্ট ভাল। আমার 256Mb র‌্যামের একটি সার্ভার রয়েছে এবং অদলবদল মেমরি ব্যবহার করে না। এটি কোনও সমস্যা ছাড়াই ওপেনজেড ভার্চুয়ালাইজেশন ব্যবহার করে 8 ভার্চুয়াল সার্ভার চালাচ্ছে।

সুতরাং, আপনার যদি অদলবদল-মেমরির প্রয়োজন হয় তবে এটি আপনার উপর নির্ভর করে।


কেমন আপনি দৌড়াচ্ছে 8 শুধুমাত্র 256 সহ মেশিনে ভার্চুয়াল মেশিনের মেগাবাইটের RAM এর?!?
ওয়ারেন

ভিজেডের সাথে এটি সম্ভব কারণ সাধারণ লাইব্রেরিগুলি ভিএমগুলিতে ভাগ করা হয় বা এমন কিছু যা কার্যকরভাবে র্যাম সম্পূর্ণরূপে বিভাজিত হয় না। সুতরাং, 8 এক্স 64 এম অগত্যা 512 এম নয়। :)
সিবিওর

তবুও - অন্তর্নিহিত ডিভাইস স্টেবলভাবে কীভাবে চলছে?
ওয়ারেন

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

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