স্মৃতি পূর্ণ হওয়ার আগে উইন্ডোজ 2008 কেন অদলবদল ব্যবহার করে?


9

আমি একটি উইন্ডোজ 2008 সার্ভার পরিচালনা করি (ভাল, অ্যামাজন ইসি 2 তে) আইআইএস এবং একটি নেট নেট ওয়েব অ্যাপ্লিকেশন চালায়। আমি অন্য দিন একটি স্মৃতি সতর্ক পেয়েছিলাম এবং গিয়েছিলাম এবং দেখেছি এবং নিশ্চিত যে প্রক্রিয়াটির স্মৃতিটি সময়ের সাথে ধীরে ধীরে কিছু ধরণের ফাঁস হয়ে গেছে। এটি 60M থেকে 200M এর মতো খুব বেশি বাড়েনি, তবে বাক্সটির সাথে আরও অনেক কিছু চলছিল যে এটি মনিটরটি বন্ধ করতে আমাদের বেশ নিচু চৌম্বক (75%) পেরিয়ে গেছে।

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

হতে পারে এটি একটি প্রাথমিক প্রশ্ন, তবে আমি একটি ইউনিক্স লোক এবং আমি স্মৃতি থেকে বের হওয়া অবধি ব্যবহার না হওয়া অদলবদল করতে অভ্যস্ত। এই বাক্সটি কখনও 75% মেমরির ব্যবহারের উপরে যায় নি। এটি কি উইন্ডোজ জিনিস বা একটি নেট নেটওয়ার্ক বা একটি অ্যামাজন জিনিস? আমার সন্দেহ হয় যে এই অ্যাপ্লিকেশনটিতে সন্দেহের চেয়ে অনেক বড় মেমরি ফুটো আছে - এটি 60 এম থেকে 200 এম থেকে ফাঁস হচ্ছে না, এটি 60 এম থেকে 1.2 গিগাবাইট পর্যন্ত ফুটো হচ্ছে, তবে এর বেশিরভাগই কোনওভাবে "ঠান্ডা" হয়ে যাচ্ছে এবং অদলবদল হতে চলেছে?

আমার কাছে অ্যাপ্লিকেশন পুলে মেমরি পুনর্ব্যবহারযোগ্য সেট রয়েছে তবে এটি বাক্সের পূর্ণ স্মৃতি থেকে বেরিয়ে আসে, সুতরাং এটি স্বয়ংক্রিয়ভাবে পুনর্ব্যবহারের আগে এই অ্যাপটি সত্যই, সত্যিই বড় হতে পারে।

আমি নিয়মিত "টাইমড" পুনর্ব্যবহার সেট আপ করতে পারতাম, তবে এটি একটি কার্যকরী, আমি অ্যাপটি ঠিক করতে দেব পাব তবে আমি এই অধিকারটি বুঝতে পারছি তা নিশ্চিত করার জন্য অদলবদ ব্যবহারের সাথে এখানে কী চলছে তা বুঝতে হবে।

আরও তথ্যের সাথে সম্পাদনা করুন: উদাহরণ মেমরি: 1.7 গিগাবাইট অদলবদ: 4.5 গিগাবাইট

আমি টাস্কমিগরে w3wp.exe প্রক্রিয়াটি দেখছি যা মেমোরিটি দেখায়: 211,000 কে। তবে আমি যখন এটি পুনরায় চালু করেছি (এটি নিজস্ব অ্যাপ্লিকেশন পুলে রয়েছে এবং এটি বাক্সের মধ্যে এটি একমাত্র অ্যাপ্লিকেশন), এর মেমরির ব্যবহারটি তার স্বাভাবিক প্রারম্ভে নেমে গেছে 60 এম এবং অদলবদলের 1 গিগাবাইট + এর মত মুক্তও। টাস্কগ্রামে আমি কেবলমাত্র সাধারণ মেমরি (প্রাইভেট ওয়ার্কিং সেট) স্থির করে রেখেছিলাম, তবে আমার অন্যান্য পর্যবেক্ষণের মাধ্যমে (ক্লাউডকিক) অদলবদলটি দেখেছি। ফিরে গিয়ে আজ এটির দিকে তাকিয়ে, মেমরিটি প্রক্রিয়াটিতে ১৯৫ এম অবধি ফিরে আসে (১.২ গিগাবাইট টোটাল) এবং অদলবদলটি ১.০ গিগাবাইট থেকে ১.১ গিগাবাইট পর্যন্ত ক্রিপ্ট হয়ে গেছে, যেখানে যেখানে ছিল সেখানে ফিরে যাব না (সময়ের সাথে সাথে গ্রাফিকিং, এটি একটি ধীরে ধীরে ক্রিপ)।

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


4
BTW, অন্তত লিনাক্স হবে পৃষ্ঠাগুলি opportunistically যদি তারা একটি দীর্ঘ সময় ব্যবহার করা হয়নি আউট অদলবদল, এমনকি যদি সিস্টেম সমস্ত উপলব্ধ র্যাম ব্যবহারের কাছাকাছি কিনারা হয় না। এটি ডিস্ক ক্যাশে, বাফার ইত্যাদির জন্য মেমরি মুক্ত করার জন্য এটি করে
EEAA

এই উদাহরণটি কত স্মৃতি আছে? আপনি কি বলছেন যে w3wp.exe প্রক্রিয়াটি 1 জিবি হিট করছে? এই অ্যাপ্লিকেশন পুলে এটিই কি একমাত্র সাইট চলছে?
কেভ

@ কেভ আপনার অনুরোধে প্রশ্নে আরও তথ্য যুক্ত করেছে।
আর্নেস্ট মেলার

@ এরিকা, আমি জেনে রাখা ভাল, আমি অনুমান করি যে আমি বলছি যারা বলছেন "যদি আপনি অদলবদল করে থাকেন যদি আপনি ইতিমধ্যে বাজে পারফরম্যান্স পেয়ে গেছেন, তবে পুরোপুরি অদলবদল বন্ধ করুন এবং র‌্যামের বাইরে চলে যাবেন না" তাই আমি ডন ' টি দেখতে অনেকটা অদলবদল।
আর্নেস্ট মেলার

যদি আপনার ডিস্কটি ডিস্কে ছিটকে থাকে তবে এটি সত্য। যদি এটি অদলবদল করে, এটি বাফার এবং এর জন্য জায়গা তৈরি করে।
বার্ট সিলভারস্ট্রিম

উত্তর:


17

উইন্ডোজ এবং লিনাক্স দুটি পৃথক পৃষ্ঠা / অদলবদ কৌশল আছে।

লিনাক্স

লিনাক্স অদলবদল স্পেস ব্যবহার করা এড়াতে চায় এবং শেষ সম্ভাব্য মুহুর্ত পর্যন্ত অপেক্ষা করে। আপনি যদি লিনাক্সে প্রচুর পরিমাণে অদলবদল দেখতে পান তবে আপনার সিস্টেমটি সম্ভবত সমস্যা হয়। এই কৌশলটি সামগ্রিক ডিস্ক i / o হ্রাস করার জন্য ভাল, যা আপনার সিস্টেমের সবচেয়ে ধীরতম অংশ, তবে হালকা এবং ভারী বোঝা পরিবর্তনের সময়কালে (এবং সত্যই, এটি আমাদের বেশিরভাগের জন্য) দুর্বল। আপনার লোড ইতিমধ্যে ভারী হওয়ার সময় এখন "অতিরিক্ত" ডিস্ক আই / ও দ্বারা বোঝা হয়ে যাবে, বা অন্য কোনও উপায়ে বলতে গেলে আপনার সার্ভারটি আপনার নিজের নকশাগুলি তৈরি করতে হবে যাতে যথেষ্ট পরিমাণে র্যাম থাকা অবস্থায় আপনি এমনকি অদলবদল করতে পারবেন না the সর্বোচ্চ প্রত্যাশিত লোড বার

উইন্ডোজ

উইন্ডোজ মেমরিটিকে পৃষ্ঠার ফাইলের কেবল ক্যাশে হিসাবে বিবেচনা করতে চায়। আপনার আসল স্মৃতিটি সর্বদা ডিস্কে থাকে তবে এটি "কেশে" থেকে প্রথমে পড়তে / লিখতে পারে যদি তা পারে। এই কৌশলটি সময়ের সাথে আপনার বোঝা সন্ধ্যার জন্য ভাল; যখন সিস্টেম ব্যস্ত হয়ে পড়ে এবং পৃষ্ঠাগুলি অদলবদল করার দরকার হয়, বর্তমান পৃষ্ঠাটি ইতিমধ্যে ডিস্কে রয়েছে এবং অর্ধেক কাজ ইতিমধ্যে সম্পন্ন হয়েছে। এই পদ্ধতিটি যখন উইন্ডোজ তরুণ ছিল তখন ফিরে এসে বিশাল ধারণা তৈরি করেছিল, 32 এমবি (জিবি ভুলে যান) এখনও প্রচুর র‍্যাম ছিল, এবং অদলবদল স্পেস ব্যবহার করার ঘন ঘন প্রয়োজন ছিল a আজও এটি হালকা এবং ব্যস্ত লোডের মধ্যে বিকল্প কাজের চাপের জন্য ভাল, কারণ এটি সময়ের সাথে সাথে ডিস্ক i / o আরও সমানভাবে ছড়িয়ে দিতে সহায়তা করে।

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

অভিসৃতি

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

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


উইন্ডোজ শেষ কৌশলটি খুব নির্দিষ্ট, ধন্যবাদ! আমি এই মাইক্রোসফ্ট কেবি দ্বারা যাচাইকরণও
আর্নেস্ট মোলার

1
আপনি স্পষ্টভাবে vm.swppiness = 0 সেট না করে লিনাক্স অগত্যা শেষ সম্ভাব্য মুহুর্তের জন্য অপেক্ষা করে না। ডিফল্ট মান At০ এ এটি এমন পৃষ্ঠাগুলি অদলবদল করবে যা কিছুক্ষণের মধ্যে ছোঁয়া হয়নি।
কেজেটিল জোর্জেনসেন

@ কেজিলজোরজেনসেন নিশ্চিত করুন যে আপনি কনভার্সনের শেষ অংশটি পড়েছেন।
জোয়েল কোয়েল

1
@ জোয়েলকয়েল আমি নিঃশর্তভাবে আমার সমালোচনা প্রত্যাহার করি :)
কেজেটিল জোয়ারজেনসেন

7

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

লিনাক্সের অধীনে আপনি /procফাইল সিস্টেমে প্রাসঙ্গিক "অদলবদল" মানগুলিকে পরিবর্তন করে এই আচরণটি (বা ব্লক) করতে পারেন - এতে সন্দেহ নেই যে উইন্ডোজও এই ক্ষেত্রে কীভাবে আচরণ করে তা পরিবর্তন করতে আপনি রেজিস্ট্রি মান রাখতে পারেন।

আরেকটি বিষয় সচেতন হতে হবে যে যখন কোনও পৃষ্ঠাটি বের করা হয় এবং পরে এটি পুনরায় পাঠ করা হয়, কার্নেল ফাইল ফাইলটি অন্যথায় পূর্ণ না হওয়া বা র‌্যামের পৃষ্ঠা পরিবর্তন না হওয়া অবধি পৃষ্ঠার ফাইল থেকে সরিয়ে ফেলবে না। এইভাবে যদি এটির পৃষ্ঠার প্রয়োজন হয় যে এটি আবার খণ্ডন করতে পারে তবে এটি পৃষ্ঠাগুলি ডিস্কে না লিখেই এটি করতে পারে: সামগ্রী ইতিমধ্যে রয়েছে is পৃষ্ঠার ফাইলগুলি ছিন্ন করার কারণে মেমরির অতিরিক্ত প্রতিশ্রুতি এতটা খারাপ হয়ে গেছে এমন পরিস্থিতিতে পারফরম্যান্সের ব্যাপক উন্নতি করতে পারে (উল্লেখযোগ্য সংখ্যক পৃষ্ঠাগুলি ক্রমাগত ম্যাপ করা এবং আউট করা)। আপনি সম্ভবত খুঁজে পেতে পারেন যে সেই ডেটা মেমরি ফাঁস দ্বারা কিছু তথ্য বেরিয়ে এসেছিল এবং পরে সেই পৃষ্ঠাটি ম্যাপ করা বা র‍্যাম পরে আবার ঘর তৈরি করার প্রয়োজনে ডিস্ক থেকে মুছে ফেলা হয়েছে। লিনাক্সের অধীনে, "সোয়াপকাড" মানটি/proc/meminfoর‌্যাম এবং ডিস্কে অভিন্ন অনুলিপি থাকা পৃষ্ঠাগুলিতে কতটা ডেটা উপস্থিত রয়েছে তা দেখায়। সন্দেহ নেই উইন্ডোজ একই অপ্টিমাইজেশন (বা অনুরূপ কিছু) ব্যবহার করে তবে এটি ঠিক কী ঘটছে তা দেখার জন্য আমি ঠিক সেখানে নই (সন্দেহ নেই যে আপনি কীভাবে প্রাসঙ্গিক পারফরম্যান্স মনিটরের কাউন্টারে জিজ্ঞাসা করতে পারেন)।

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

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