আংশিক পূর্ণ র‌্যাম কেন পিছিয়ে যায়?


53

আরও ডেটা সঞ্চয় করার জন্য কিছু জায়গা পাওয়া সত্ত্বেও কেন আংশিকভাবে পূর্ণ র‌্যাম (80% বলি), ডিভাইসটিকে অনেক পিছিয়ে দেয়? আমি যা প্রত্যাশা করি তা এটি 99% পর্যন্ত ভাল কাজ করে চলেছে।

আমি লক্ষ্য করেছি যে পিসির চেয়ে মোবাইলে তার চেয়ে বেশি র‌্যাম রয়েছে, যেমন আমার মোবাইলে 2 জিবি র‌্যাম রয়েছে; আমার যখন 1 গিগাবাইটেরও কম র‌্যাম মুক্ত হয় তখন এটি অনেক পিছিয়ে যায়! এটি কেন ব্যবহার করে, যদিও এখনও এটিতে ব্যবহারের জন্য 1 জিবি ডলার রয়েছে?


28
আমার সন্দেহ হয়েছিল যে আপনি ধরে নিচ্ছেন যে র‌্যাম পাওয়া যায় তা ব্যবহার হচ্ছে না। সুতরাং আপনি 20% র‌্যাম উপলব্ধ দেখতে পান এবং মনে করেন যে কেবলমাত্র 80% র‌্যাম ব্যবহার করা হচ্ছে। এটি ভুল, র‌্যাম ব্যবহার এবং উপলব্ধ উভয়ই হতে পারে। (উদাহরণস্বরূপ, আমি এখন যে মেশিনটি ব্যবহার করছি তাতে 32 গিগাবাইট র‌্যাম রয়েছে এবং 21.1 জিবি পাওয়া যায় তবে কেবল 1.8 গিগাবাইট বিনামূল্যে))
ডেভিড শোয়ার্জ

2
আপনি আমার র‌্যামের সাথে আমার এইচডিডি মুক্ত স্থান বলতে চান? surly না।
মোহাম্মদ নুরাল্ডিন

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

3
আপনাকে কী মনে করে যে এটি র্যাম শতাংশ যা ডিভাইসকে পিছিয়ে ফেলেছে?
এনক্রিপটর

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

উত্তর:


70

এখানে অনেক কিছু জড়িত রয়েছে তবে আমি এটি যতটা পারি ঠিক তেমনভাবে ব্যাখ্যা করার চেষ্টা করব এবং কোনও OS সম্পর্কে প্রযোজ্য।

এখানে 2 টি মূল নীতি রয়েছে:

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

  2. মেমরি ব্লকের ব্যবহারের ফ্রিকোয়েন্সি এলোমেলো থেকে অনেক দূরে তবে যথেষ্ট যথার্থতার সাথে পূর্বাভাস দেওয়া যেতে পারে। মেমরিটি প্রায়শই 4 কে বাইটে ব্লকগুলিতে বিভক্ত হয়। কিছু ব্লক প্রতি সেকেন্ডে অনেক বার অ্যাক্সেস করা হয় অন্যগুলি যদি সিস্টেমটি যথেষ্ট দীর্ঘ হয়ে থাকে তবে কয়েক মিনিট, ঘন্টা, দিন, এমনকি সপ্তাহেও অ্যাক্সেস করা যায়নি। এই 2 চরমের মধ্যে বিস্তৃত ব্যবহার রয়েছে। মেমোরি ম্যানেজার জানেন যে সম্প্রতি কোনগুলি ব্লক অ্যাক্সেস করা হয়েছে এবং যেগুলি নেই। এটি একটি যুক্তিসঙ্গত অনুমান যে সম্প্রতি অ্যাক্সেস করা একটি মেমরি ব্লক শীঘ্রই আবার প্রয়োজন হবে again মেমোরি যা অ্যাক্সেস করা হয়নি সম্প্রতি সম্ভবত আর যে কোনও সময় প্রয়োজন হবে না। দীর্ঘ অভিজ্ঞতা এটিকে একটি বৈধ নীতি হিসাবে প্রমাণিত করেছে।

প্রথমটির অনাকাঙ্ক্ষিত পরিণতি প্রশমিত করতে মেমরি পরিচালক দ্বিতীয় নীতিটি গ্রহণ করে। এটি করার জন্য এটি সম্প্রতি র‍্যামে অ্যাক্সেস করা ডেটা রাখার ভারসাম্যপূর্ণ কাজ করে যখন মূল ফাইলগুলি বা পেজফাইলে খুব কমই ব্যবহৃত ডেটা রাখে।

র‌্যাম যখন প্রচুর পরিমাণে হয় তখন এই ভারসাম্য রক্ষা করা সহজ। সাম্প্রতিক ব্যবহৃত ব্যবহৃত ডেটাগুলির বেশিরভাগটি র‍্যামে রাখা যেতে পারে। এটি একটি ভাল পরিস্থিতি।

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

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

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


1
আপনার উত্তর আমাকে অনেক সাহায্য করেছে, ধন্যবাদ! এটা memory mangerআমার OSঅধিকারের একটি অংশ ? সুতরাং যদি আমি পয়েন্টার এবং এই খুব নিম্ন স্তরের জিনিসগুলির সাথে কাজ করে থাকি তবে এটি কী এখনও পেজিং করতে সক্ষম হবে?
মোহাম্মদ নুরাল্ডিন

7
মেমরি ম্যানেজার ওএস এর অংশ। পেজিং মেমোরি ম্যানেজারের একটি প্রাথমিক কাজ এবং অপারেশন করার জন্য যেমন অপরিহার্য তেমনি শ্বাস-প্রশ্বাস আপনার এবং I. এটি বন্ধ করা যায় না।
এলমিলার 7

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

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

3
আমরা সাধারণত স্মৃতিতে লোডিং কোডটি উল্লেখ করতে "অদলবদল" শব্দটি ব্যবহার করি না। একে সাধারণত "দোষ" বলা হয়। সাধারণত, "অদলবদল" শব্দটি কেবলমাত্র তথ্যের জন্য ব্যবহৃত হয় যা র‌্যাম থেকে বেরিয়ে যাওয়ার আগে ডিস্কে লিখতে হয়।
ডেভিড শোয়ার্জ

29

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


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

5
@ এসএমএলটাররা হ্যাঁ, আমি একমত, অ্যাপ্লিকেশনটি র‌্যামের জন্য জিজ্ঞাসা করে এবং প্রয়োজনে ওএস ক্যাশে সাফ করে। আমি এটি সহজ রাখার চেষ্টা করছিলাম।
মাইক স্কট

এটি কিছুটা পরিষ্কার ছিল তবে আমি বিশদ সম্পর্কে কিছুটা বেশি সচেতন, সুতরাং আমার অনুভূতি রয়েছে যে কিছু অনুপস্থিত এবং আরও বিশদ সম্পর্কে আমার প্রয়োজন, @ মিলার উত্তরটি আমাকে বাস্তবে সহায়তা করেছিল, আপনি যদি সংশোধন করতে পারেন তবে তা দুর্দান্ত হবে এটি তথ্য।
মোহাম্মদ নুরাল্ডিন

4

এই উত্তরটি বেশিরভাগই কাঠামোগত পুনর্গঠিত করার জন্য এবং বার্তাটিকে আরও পরিষ্কার করার জন্য পুনরায় লেখা হয়েছিল। আমি এটি একটি সম্প্রদায়ের উইকির উত্তর হিসাবেও খুলেছি; সম্পাদনা করতে নির্দ্বিধায়।

পেজিং হ'ল একটি মেমরি পরিচালনা স্কিম যার মাধ্যমে মেমরির স্থির আকারের ব্লকগুলিকে তাদের প্রক্রিয়া বরাদ্দ করা হয়। যখন মেমরির ব্যবহার একটি উচ্চ স্তরে (অর্থাত্ 80% ক্ষমতা) বৃদ্ধি পায়, পেজিংটি র‌্যাম থেকে ভিআরএএম (ভার্চুয়াল র‌্যাম) পর্যন্ত প্রসারিত হতে শুরু করে।

ভিআরএএম সাধারণত হার্ড ড্রাইভে বা অন্যান্য বড় আকারের স্টোরেজ অবস্থানের মধ্যে সিস্টেম স্টোরেজে থাকে।

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

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

তবে এটি কেবলমাত্র সামান্য পারফরম্যান্সের প্রভাবের কারণ হয়। যখন ভিআরএএম-তে কোন পৃষ্ঠাটি নির্ধারণ করা হয় তার হার যখন তীব্রভাবে বৃদ্ধি পায় (যখন ডেডিকেটেড র‌্যামের ক্ষমতার কাছে আসে) তখন থ্রেশিং হয়।

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

বলুন, আপনি 30 সংখ্যা দীর্ঘ লম্বা লিখতে চান। আপনি হয় আপনার নোটপ্যাডের সাথে আপনার পর্দার পাশে বসে লিখতে পারেন (উত্সর্গীকৃত স্মৃতি ব্যবহার করে), বা আপনার 5 টি অংশ মনে আছে, পাশের ঘরে চলে যান এবং সেখানে এটি আপনার নোটপ্যাডে লিখে রাখতে পারেন (ভার্চুয়াল মেমরি ব্যবহার করে)। দুজনেই কাজটি সম্পন্ন করে, তবে কোনটি দ্রুত হতে চলেছে?

এখানে thashing সম্পর্কে আরও জানুন !

ড্যানিয়েল বি , জেনয়েড এবং জোন বেন্টলি সহ এই উত্তরের অবদানকারীদের একটি বড় ধন্যবাদ ।


3
মারধর করা ইচ্ছাকৃত নয়। এটি শারীরিক স্মৃতির জন্য পেজিং এবং প্রতিযোগিতার কেবলমাত্র একটি পার্শ্ব প্রতিক্রিয়া। এছাড়াও, পৃষ্ঠাগুলিকে ডিস্কে সরিয়ে ভার্চুয়াল মেমরি "তৈরি করা" হয় না।
ড্যানিয়েল বি

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

8
না, আপনি ট্র্যাশিং এবং পেজিং বিভ্রান্ত করছেন। ট্র্যাশিং কেবল প্যাথলজিক হয়ে উঠছে।
xenoid

@ এক্সেনয়েড পেজিং একটি মেমরি পরিচালনা প্রকল্প; এটি বলার মতো যে আমি আমার গাড়ি এবং হাইওয়ে সিস্টেমের সাথে একটি হরিণকে মারছি। থ্র্যাশিং হ'ল প্রক্রিয়া যা এই কর্মক্ষমতা হ্রাস করে; তবে আমি আপনাদের সাথে একমত হই যে এটি পেজিং সিস্টেমের ফলাফল।
উইল

1
মন্তব্যগুলি উইকি উত্তরে তৈরি করা হয়েছে, নির্দ্বিধায় এডিট করুন।
উইল

1

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

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


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

1
অবশ্যই, তবে আরওএম এবং র‌্যামও অ-উদ্বায়ী বনাম উদ্বায়ী মেমরি হিসাবে ব্যবহৃত হয়? বিটিডাব্লু রম সাধারণত ধীর হয়, পারফরম্যান্স লাভের জন্য বুটআপে রমটি র‌্যামের (রম শেডিং) অনুলিপি করা হয়। তবে নিশ্চিত, আমি আপনার নিটপিকিং ঠিক করার জন্য একটি রেফারেন্স পরিবর্তন করব। ;)
গিলস লেসিরে

1

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

  1. প্রসেসর রেজিস্টার - ব্যবহারিক পদে, রেজিস্টারগুলি 1 প্রসেসর চক্রের মধ্যে উপলব্ধ । প্রসেসরগুলি কয়েক সেকেন্ডে কয়েক বিলিয়ন চক্র করে (3 গিগাহার্টজ = 3 বিলিয়ন চক্র প্রতি সেকেন্ড) করে তা বিবেচনা করে, এটি দ্রুত পাগল।
  2. প্রসেসর ক্যাশে - স্তরের উপর নির্ভর করে তবে এগুলি এখনও বেশ দ্রুত (এল 1 ক্যাশে 3-5 চক্রের উপলব্ধতা)।
  3. র্যান্ডম অ্যাক্সেস মেমোরি (র‌্যাম) - এলোমেলো অংশটির অর্থ আপনি যখন অ্যাক্সেস করবেন তখন এটি কোন অবস্থায় রয়েছে তা আপনি জানেন না। এমন একটি প্যাকেজ বিতরণকারী ব্যক্তির কথা চিন্তা করুন যাকে থামতে হবে, প্যাকেজটি তুলে নিতে হবে, দরজায় হাঁটতে হবে এবং ডোরবেলটি বেজে উঠবে এবং প্রতিক্রিয়ার জন্য অপেক্ষা করতে হবে। সম্ভবত আপনি কিছুক্ষণ অপেক্ষা করবেন না, বা সম্ভবত আপনি মিসেস স্মিথের বাড়ির পিছনের দিকে দরজায় ঝাঁকুনির জন্য এক বা দুই মিনিট অপেক্ষা করেছিলেন। ব্যবহারিক ভাষায়, আমরা ১৪-২7 চক্র থেকে যে কোনও জায়গায় কথা বলছি (আমরা যখন এটি ব্যবহার করেছি তখন র‌্যামটি কী ছিল তার উপর নির্ভর করে)।
  4. হার্ড ডিস্ক ড্রাইভ - এখানে এখন একটি শারীরিক প্রক্রিয়া চলছে এবং এটি যত দ্রুত সম্ভব ঘটবে আপনি যখন মাথা সরাবেন এবং সেই মাথার নীচে স্থানান্তরিত করতে ট্র্যাক পাবেন। ব্যবহারিক ভাষায়, একটি 7,200 আরপিএম এইচডিডি প্রায় 4 এমএসে বা কোথাও 3 গিগাহার্টজ প্রসেসরের প্রায় 750,000 চক্রের বিপ্লব সম্পূর্ণ করতে পারে । এটা ধীর।

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

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


1
হ্যাঁ, মেমোরি ম্যানেজার একজন জুয়াড় তবে এটি খুব সহজেই ভুল বোঝাবুঝি হতে পারে। যদি মেমরি অ্যাক্সেস সত্যই এলোমেলো হয়ে থাকে তবে মেমরি পরিচালকটি প্রায়শই সঠিক হিসাবে ভুল হত এবং পুরো সিস্টেমটি ভেঙে যায়। তবে প্রোগ্রামগুলিতে একটি দৃ local় স্থানীয় রেফারেন্স দেখা যায়। এটি হ'ল বেশিরভাগ মেমরির অ্যাক্সেসগুলি মেমরির তুলনামূলকভাবে ছোট অঞ্চলে স্থানীয়করণ হয়। তারা এদিক ওদিক চলে তবে সিস্টেমের কাজ করার জন্য যথেষ্ট ধীর হয়। প্রতিক্রিয়াগুলি মেমরি পরিচালকদের পক্ষে স্ট্যাক করা হয় এবং ভুলগুলি দ্রুত সংশোধন করা হয়। বহু দশকের অভিজ্ঞতার পরে এটি প্রমাণিত হয়েছে
এলমিলার 7

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

0

থ্রেশিং উত্তরগুলি বেশ পেরেক করে। আপনি যদি সক্ষম হয়ে থাকেন তবে অদলবদল হ্রাস করে এটি কত দ্রুত ঘটে তা আপনি হ্রাস করতে পারেন (জিনিসগুলিকে স্থান পরিবর্তন করার আগে সিস্টেমটি কতটা র্যাম ব্যবহার করতে দেবে)। সার্ভার অ্যাপ্লিকেশনগুলির জন্য র্যাম 99% না পৌঁছানো পর্যন্ত আমি সিস্টেমগুলিকে অদলবদল থেকে দূরে রাখতে সেট করতে চাই যেহেতু ডিফল্টরূপে কার্যকরভাবে এর অর্থ হ'ল ধাক্কা দেওয়ার কারণে দণ্ডিত না হয়ে ক্যাচিংয়ের সুবিধা নেওয়ার জন্য আমি কেবল র্যামের 80% ব্যবহারের জন্য জিনিসগুলি কোডের প্রয়োজন I অদলবদল ব্যবস্থায় সিস্টেমটি।

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