উইন্ডোজ কীভাবে এত দ্রুত হাইবারেশন ফাইলটিতে সম্পূর্ণ র‌্যাম ফেলে দিতে পারে?


64

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

  1. উইন্ডোজ পুরো র‌্যামটি (সম্ভবত এটি প্রক্রিয়া করার পরে) hiberfil.sysফাইলে ফেলে দেয়।
  2. বুট আপ করার সময়, হাইবারনেশন ফাইলটি পড়া হয় এবং সামগ্রীগুলি র‍্যামে লোড হয়।

আমার প্রশ্নটি যখন আমি সাধারণত আকারের কোনও ফাইল অনুলিপি করে বলি, 1 জিবি, এটি সম্পূর্ণ হতে 2 মিনিট সময় নেয় ।

যাইহোক, যখন উইন্ডোজ হাইবারনেশন ফাইলটি লিখছে (হাইবারনেশন প্রক্রিয়া চলাকালীন), পুরো প্রক্রিয়াটি সম্ভবত 10-15 সেকেন্ড সময় নেয়। লেখার গতিতে এত পার্থক্য কেন?

আমার র‌্যামের সাইজ 4 জিবি। (আমি দ্রুত বুট প্রযুক্তির কথা বলছি না))

benchmarks:

  1. ডিস্ক 1 থেকে ডিস্ক 2 (বাহ্যিক) এ 1 জিবি ফাইল অনুলিপি করা হচ্ছে: 2.3 মিনিট।
  2. সিস্টেমটি হাইবারনেট করা হচ্ছে: 15 সেকেন্ড।

3
আমি উত্তরটি জানি না, তবে আমি বাজি ধরছি আপনি যদি উইন্ডোজ ইন্টারনালস "অধ্যায় 13: স্টার্টআপ এবং শাটডাউন" বইটি চেক করেন তবে এটি আপনাকে বলবে (আমার কাছে যদি বইটি নিজেই থাকত আমি চেক করতাম)।
স্কট চেম্বারলাইন

2
এটা একটা ভালো প্রশ্ন। হাইবারনেশন প্রথম 1998 সালে কার্যকর করা হয়েছিল, এটি প্রায় এত দ্রুত ছিল না n't
গ্যাবে

22
@ কোডার: এনটি সিস্টেমটি হাইবারফিল.সিসগুলি নিশ্চিত করে যে এটির পুরো জায়গা বরাদ্দ রয়েছে এবং পুরো ফাইলটি খণ্ডিত নয় make সেই অবস্থায় অপারেশন চলাকালীন হার্ড ড্রাইভে কোনও মাথা ঝাঁপ দেয় না। সুতরাং আপনি 150Mo / s এর মতো কার্যকর গতি পাবেন। আমি যা বলেছিলাম তা আপনি আবার যাচাই করতে পারেন fsutil
ব্যবহারকারী 2284570

3
বাহ্যিক ডিস্কটি সাধারণত অভ্যন্তরীণ ডিস্কের চেয়ে ধীর হয়।
হ্যারি জনস্টন

2
@ এরিকলিপার্ট - এটি অবশ্যই সমস্ত র্যাম সংরক্ষণ করে না, তবে এটি এখনও এটি ব্যাখ্যা করে না। আমার নিয়মিত কয়েকটি গিগাবাইট অ্যাক্টিভ র‍্যাম রয়েছে যা সংরক্ষণ করতে হবে (ভিএস ২০১৩ বা এক্লিপস + আরও কয়েকটি জিনিস প্রচুর পরিমাণে র‌্যাম নেয়) এবং এগুলি আমার নন-এসএসডি-র তাত্ত্বিক লেখার গতির চেয়েও বেশি গতিতে আমার কাছে মনে হয় speed চালনা করা।
Davor

উত্তর:


45

এটি সম্ভবত তিনগুণ উত্তর।

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

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

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

অতিরিক্তভাবে, বর্তমান হার্ড ড্রাইভগুলি বেশ দ্রুত are ১০০ এমবি / সির ক্রমে একটি স্থায়ী লেখার ডিস্কের সাহায্যে আপনি এক মিনিটের মধ্যে 4 গিগাবাইট র‍্যাম লিখতে সক্ষম হবেন (সংক্ষেপিত)। হাইবারনেশন হিসাবে সমস্ত ব্যবহারকারীর প্রক্রিয়া স্থগিত করার পরে এবং সিপিইউ স্থগিত করার আগে শেষ কাজ হিসাবে ডিস্কের সম্পূর্ণ লেখার গতি থাকতে পারে done এটি আপনার সাধারণ বেঞ্চমার্কটি না রাখার একটি জিনিস, এবং ডিস্ক থেকে ডিস্কে অনুলিপি করা কেবল ডিস্কে র‌্যাম আউট লেখার চেয়ে ধীরে ধীরে ধীর হয়ে যাবে।

এই জিনিসগুলি একত্রিত করুন এবং হাইবারনেশন ফাইলে যে পরিমাণ ডেটা লিখতে হবে তা খুব সামান্য হতে পারে, সম্ভাব্যভাবে 1 জিবি ক্রমের এবং সম্ভবত 10 সেকেন্ডের নীচে একটি বড় অবিচ্ছিন্ন ব্লকে লেখা যেতে পারে।


37
বা, আরও স্পষ্ট করার জন্য: আপনার র্যাম সম্ভবত পূর্ণ নয়। বাফারগুলি ফ্লাশ করা হয় এবং হাইবারনেশনে ক্যাশে ফেলে দেওয়া হয়। অ্যাপ্লিকেশন দ্বারা ব্যবহৃত মেমরিটি কেবল ডিস্কে লিখতে হয়। হাইব্রিড শাটডাউন ব্যবহারকারীর লগ আউট করে ব্যবহারের জন্য মেমরির পরিমাণ হ্রাস করে।
ড্যানিয়েল বি

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

3
আমি যে উত্তরটি যুক্ত করেছি তার সাথে ডকুমেন্টটি থেকে @ ব্যবহারকারী 2284570 "উইন্ডোজ মেমরির বিষয়বস্তুগুলি ডিস্কে অনুলিপি করে হাইবারনেশনকে সমর্থন করে The সিস্টেমে আছে ""
মকুবাই

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

3
@ ব্যবহারকারী 2284570: সমস্ত স্মৃতি সঞ্চয় করার জন্য ডিস্কে স্থান রয়েছে তা নিশ্চিত করার জন্য ফাইলটি এত বড়। সেই সমস্ত জায়গাই আসলে হাইবারনেশনে ব্যবহৃত হয় না। কখনও কখনও ফাইলটি (বলুন)%% সংকোচিত মেমরির সামগ্রী, 93% জাঙ্ক হবে।
স্মৃতিচিহ্ন

31

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

  • এক্সিকিউটেবলের। টেক্সট বিভাগগুলি সর্বদা ফাইল ম্যাপিংয়ের সাহায্যে থাকে। এটি কমপক্ষে কিছু ডিএলএলগুলির জন্যও সত্য (তবে সমস্ত নয়, তাদের স্থানান্তরিত করা দরকার কিনা তার উপর নির্ভর করে)।
  • মেমোরি যা ফাইল ম্যাপিংগুলির অনুরূপভাবে সমর্থনযোগ্য তা বাতিল করা যেতে পারে (ধরে নেওয়া যায় এটি কো বা আরডাব্লু এবং নোংরা নয়)।
  • অলস রাইটব্যাকটি এখনও ঘটতে হবে, তবে এগুলি ছাড়া, ক্যাশেগুলি ফেলে দেওয়া যেতে পারে।
  • মেমরি যা বরাদ্দ করা হয়েছে তবে লিখিত হয়নি (সাধারণত অ্যাপ্লিকেশন ডেটার বৃহত্তর অংশ!) শূন্য পৃষ্ঠার দ্বারা ব্যাক করা হয় এবং বাতিল করা যায়।
  • মেমরি পৃষ্ঠাগুলি উপর বড় অংশ "স্ট্যান্ডবাই" স্থিতি (প্রকৃত প্রতি প্রক্রিয়া বাসিন্দা Windows এ সেট কাজ করছে suprisingly ছোট, একটি নিছক 16MB) কিছু সময়ে ব্যাকগ্রাউন্ডে পৃষ্ঠা ফাইল অনুলিপি করা হবে এবং বাতিল করা যাবে ।
  • গ্রাফিক্স কার্ডের মতো নির্দিষ্ট ডিভাইসগুলি ম্যাপ করা মেমরির অঞ্চলগুলি (সম্ভবত) সংরক্ষণ করার প্রয়োজন নেই। ব্যবহারকারীরা মাঝে মাঝে বিস্মিত হন যে তারা 8GiB বা 16GiB কম্পিউটারে প্লাগ করে এবং 1GiB বা 2GiB কোনও আপাত কারণ ছাড়াই কেবল "চলে গেছে"। প্রধান গ্রাফিক্স এপিআইগুলিতে বাফার সামগ্রীগুলি "কিছু শর্তে" অবৈধ হয়ে উঠতে সক্ষম হওয়া প্রয়োজন (এর অর্থ কী তা বলা হচ্ছে না) require গ্রাফিক্স ড্রাইভারের দ্বারা পিন করা মেমরিটিও কেবল ফেলে দেওয়া হয়েছে এমনটি আশা করা অযৌক্তিক নয়। পর্দা যাইহোক, অন্ধকার যেতে চলেছে।

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

তৃতীয়ত, একটি স্পষ্ট লিখিত লেখা স্পিনিং ডিস্ক এবং শক্ত রাষ্ট্র ডিস্ক উভয়ের পক্ষে খুব অনুকূল

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

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


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

"লিখি"? আপনার অর্থ "বরং লিখুন"?
পিটার মর্টেনসেন

3
@PeterMortensen: না, আমি সত্যিই অর্থ সংগ্রহ লিখন (পঠিত হিসেবে ছড়িয়ে উল্টোদিকে)। এর অর্থ একাধিক অবস্থান থেকে ডেটা সংগ্রহ করার সময় একটি একক ফাইলে লেখা । আপনি স্ট্রাকচারের একটি অ্যারে সরবরাহ করেন যার প্রতিটিতে একটি সূচনা ঠিকানা এবং একটি দৈর্ঘ্য (কঠোর প্রান্তিককরণের প্রয়োজনীয়তা সহ) থাকে। অপারেটিং সিস্টেমগুলি এগুলি নিয়ামকের কাছে যায় এবং হার্ডওয়্যারটি বাকী কাজ করে।
দামন

1
@ এসএমএলটার্স: তবে স্থানান্তর পৃষ্ঠার একটি ব্যক্তিগত অনুলিপি তৈরি করে এবং ব্যক্তিগত কপির সাথে অন্য কোনও পরিবর্তন করা হয়েছে কিনা তা নির্ধারণ করা অত্যন্ত কঠিন। ম্যাপিংগুলির সাথে বৈসাদৃশ্য করুন যা ফিক্সআপের প্রয়োজন হয় না এবং অনুলিপি অনুলিপি ব্যবহার করে। যদি অন্য পরিবর্তনগুলি করা হয় তবে একটি ব্যক্তিগত অনুলিপি থাকবে। যদি তা না হয় তবে পৃষ্ঠাটি এখনও CoW এর জন্য কনফিগার করা হবে।
বেন ভয়েইট

1
@ এসএমএলটারগুলি এটি একটি নির্বিচার প্রক্রিয়া হতে পারে, তবে এটি সূচিত করে না যে হাইবারনেশন কোডটি লিঙ্কার হিসাবে সফ্টওয়্যার স্ট্যাকের একই স্তরে কাজ করে। হাইবারনেশন যদি কার্নেল স্তরে থাকে এবং লিঙ্কিং ব্যবহারকারী স্তর হয়, তবে হাইবারনেশন লিঙ্কার কী করবে সে সম্পর্কে কোনও অনুমান করতে পারে না।
ক্যাস্পার্ড

10

হাইবারনেট সময়ে এটি পুরো র‌্যাম ডাম্প করে না।

এটি ইতিমধ্যে ডিস্কে ইতিমধ্যে সদৃশ র্যামের একটি বড় অংশ থাকবে। এটি কেবল হাইবারনেশনটি দ্রুত ঘটতে দেয় না বরং নতুন প্রোগ্রামগুলির জন্য মেমরিটিকে দ্রুত উপলব্ধ করার অনুমতি দেয় (যাতে তারা দ্রুত চালু করতে পারে)।

অতএব এটিতে কেবল 4GB এর একটি ছোট ভগ্নাংশ লিখতে হবে এবং এটি 10-15-এর মধ্যে করা যেতে পারে।

মাইক্রোসফ্ট থেকে :

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


2

উপরের সমস্তগুলি ছাড়াও, আমি মনে করি খেলতে আরও কয়েকটি কারণ রয়েছে।

একটি হ'ল, কোনও ফাইল অনুলিপি করার সময় ফাইলটি পড়তে হবে এবং লিখতে হবে; হাইবারনেশনের জন্য কেবল ফাইলটি লেখা দরকার। এটি সংজ্ঞা অনুসারে, ইতিমধ্যে স্মৃতিতে!

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

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

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


এটি একটি বিশাল পার্থক্য করতে বাধ্য !
অরবিট

@ লাইটনেসেসেসিনআরবিট: সিপিইউ বিতর্ক মোটেই কোনও পার্থক্য তৈরি করবে। আই / ও যুক্তিহীনতার অভাব একটি বড় বিষয়, তবে এই উত্তরটি ইতিমধ্যে জানিয়েছে যে কর্মক্ষমতা হত্যার চেষ্টা করা এবং সামগ্রিক ব্যান্ডউইথের অভাব নয় সন্ধান করা I / O তর্কটির মূল বিষয়।
বেন ভয়েগট

@ বেনভয়েগ: হ্যাঁ, আমি সম্মতি জানাই। এবং যখন আপনার 40 টি প্রক্রিয়া থাকে সমস্ত ডিস্কে স্টাফ করার চেষ্টা করে, তখন এটি ডিস্ক অনুসন্ধানে যথেষ্ট পরিমাণে বৃদ্ধি পাবে। (tl; dr আমি সিপিইউ বিতর্ক সম্পর্কে কথা বলছিলাম না)
অরবিট

@ লাইটনেসেসেসিন অরবিট: এটি স্বাভাবিক ... অপারেশন চলাকালীন এমনকি (হাইবারনেশন প্রবেশ করা এবং ছেড়ে যাওয়া ব্যতীত) অস্বাভাবিক বলে মনে হচ্ছে। আমি জানি যে আমি যখন ডিস্কটিকে আঘাত করার মতো একটি পটভূমি টাস্কটি ধরি তখন আমি চুষারটিকে আনইনস্টল করি এবং এমন কিছু দিয়ে প্রতিস্থাপন করি যা যখন আমি কিছু জিজ্ঞাসা করি কেবল তখনই এটি ডিস্কটিতে অ্যাক্সেস করে।
বেন ভয়েগট

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

0

এটি সম্ভবত কারণ হ'ল র‌্যামের হার্ড ডিস্কের চেয়ে অনেক দ্রুত ইনপুট / আউটপুট গতি রয়েছে, তাই র‌্যামটি এতে হার্ডফিটটি পড়তে পারে তত তাড়াতাড়ি জিনিসটিকে আউটপুট করতে পারে।

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


9
তবে এখনও ওএসের ডিস্কে 4 গিগাবাইট র‌্যাম ডেটা লিখতে হবে যা আই / ও বাটনেক দ্বারা পরিচালিত হয়
কোডার

অনুকূল প্যারামিটারগুলি ধরে নেওয়াও এর থেকে বোঝা যায় যে আমার ডিস্কের লেখার গতি হাইবারনেট করার সময় 40MB / s থেকে 260 এমবি / সেকেন্ডে যায়। এটা কি সঠিক হতে পারে?
কোডার

1
সম্ভবত - আই / ও বাটনেলেকের খুব বেশি পরিমাণে থাকা উচিত নয় কারণ এটি কেবলমাত্র ডেটা লিখতে হবে (এটি সম্ভবত কিছু জায়গায় রয়েছে তাই এটি জানে যে এটি স্টাফের উপরের লিখন করতে পারবে না এবং ডেটা কোথায় রাখবে যাতে এটি হয় না) ডিস্কটি খুব বেশি পড়তে হবে)। আমার (লিনাক্স ডুয়াল বুটযুক্ত) ল্যাপটপে আমি ব্যবহার করতে dd if=/dev/zero of=/tmp/output.img bs=8k count=256kএবং পেতে পারি 1862606848 bytes (1.9 GB) copied, 1.81605 s, 1.0 GB/s, তাই এটি সম্ভবত সম্ভব বলে মনে হচ্ছে (আমি যুক্ত করব উইন্ডোজ অনুলিপি করা ফাইলগুলি অযথা দীর্ঘায়িত হতে পারে বলে মনে হচ্ছে)।
উইলফ

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

আমি কেবল আমার সিস্টেমে ডিডি বেনমার্ক চেষ্টা করেছি। এটি 52 এমবি / সেকেন্ডের বেশি কখনও যায় নি: / (পুরাতন মেশিন) তবে আমি বিশ্বাস করি "সম্ভবত এমন কিছু জায়গা রয়েছে যাতে এটি জানে যে এটি স্টাফের উপরের লিখনটি লিখবে না এবং ডেটা কোথায় রাখবে যাতে ডিস্কটি পড়ার প্রয়োজন হয় না খুব বেশি " দ্রুত গতির জন্য কী।
কোডার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.