উচ্চ ডিস্ক আই / ও সিস্টেম প্রতিক্রিয়া / কর্মক্ষমতা হ্রাস করে কেন?


19

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

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

[ দ্রষ্টব্য ] এই কর্মক্ষমতা ক্ষেত্রে কিছু অগ্রগতি হয়েছে । একটির জন্য, পরবর্তী কার্নেলগুলি (আমার ক্ষেত্রে 2.6.37) অনেক বেশি প্রতিক্রিয়াশীল।


আপনি যখন শেষবার জিজ্ঞাসা করেছিলেন লিনাক্স কার্নেলে এটি কীভাবে সমাধান হয়েছে ঠিক কী জেনো ব্যাখ্যা করেন নি?
মাইকেল মরোজেক

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

@ মিমিক স্টিভেন ঠিক বলেছেন। আমি পূর্ববর্তী প্রশ্নের সাথে আমার অর্থ কী তা নিয়ে দীর্ঘ আলোচনা হয়েছিল। জেনোর উত্তরটি এত ভাল ছিল যে আমি এটি ফিট করার জন্য প্রশ্নটি সম্পাদনা করেছি এবং আমি এখানে মূল প্রশ্নটি পুনরায় জিজ্ঞাসা করেছি।
tshpang

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

@ এমমি আসলেই না কার্নেলটি এখনও আইওয়েট করে , এর অর্থ এটি এখনও অপেক্ষা করে। সিস্টেমের প্রতিক্রিয়াশীলতার আরও উন্নতি করা হওয়ায় আমি জেনোর উত্তর দেখতে পাচ্ছি । এবং আমি সম্মত হিসাবে, আমি প্রশ্নে উল্লেখ করেছি।
tshpang

উত্তর:


9

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

পৃষ্ঠার ত্রুটিগুলি পারফরম্যান্সের জন্য একটি দুর্যোগ কারণ ডিস্কের ল্যাটেন্সিটি মিলি সেকেন্ডে পরিমাপ করা হয়, যখন র‌্যামের ল্যাটেন্সিকে ন্যানোসেকেন্ডে পরিমাপ করা হয়। (1 মিলিসেকেন্ড = এক মিলিয়ন ন্যানোসেকেন্ড!)

মেমরিটি কেবল ব্যবহারকারী প্রক্রিয়া দ্বারা নয়, ফাইল সিস্টেম ক্যাচিংয়ের মতো কার্নেল দ্বারা ব্যবহৃত হয়। ফাইল সিস্টেমের ক্রিয়াকলাপের সময়, কার্নেল সম্প্রতি ব্যবহৃত ডেটা ক্যাশে করবে। অনুমানটি হ'ল খুব শীঘ্রই একই ডেটা আবার ব্যবহার করা সম্ভব হবার একটি ভাল সম্ভাবনা রয়েছে, সুতরাং ক্যাশেিংয়ের I / O কার্যকারিতা উন্নত করা উচিত।

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


আমি জানি এটি ময়লা হিসাবে পুরানো তবে এটি কীভাবে আসবে তার উপর নির্ভর করে উচ্চ পরিমাণে I / O প্রচুর বিঘ্ন ঘটতে পারে এবং ফলস্বরূপ প্রসঙ্গের সুইচগুলি সিপিইউ সময় নষ্ট করে দেয়।
ব্র্যাচলে

5

আমি যতদূর বুঝতে পেরেছি, আইওয়েটের অর্থ একটি প্রক্রিয়া, প্রসেসর নয়, আইও উপলব্ধ হওয়ার জন্য অপেক্ষা করছে। প্রসেসরগুলি হার্ড ড্রাইভের চেয়ে অনেক বেশি গতি অর্জন করেছে যার অর্থ আরও কোড দ্রুত শেষ হবে এবং তারপরে ডিস্কটি পড়তে হবে। যখন ড্রাইভ যথেষ্ট দ্রুত করতে পারে তার চেয়ে বেশি একাধিক পড়ার দরকার পড়ে, আপনি প্রসেসরের অপেক্ষার সাথে শেষ করেন। কে ডিস্কে পড়তে / লিখতে হবে তা ঠিক করার পরে ব্লক শিডিয়ুলার দ্বারা নির্ধারিত হয়, বেশিরভাগ ক্ষেত্রে এখন সিএফকিউ। আপনি যদি সিএফকিউ ব্যবহার করছেন এবং সিস্টেমের প্রতিক্রিয়া বাড়ানোর জন্য আপনার সামগ্রিক IO সময় কম ব্যবহার করার জন্য একটি প্রক্রিয়া প্রয়োজন, আপনি ব্যবহার করতে পারেন ionice -c3 <processid>। এটি সিস্টেমকে কেবল তখনই এই প্রক্রিয়াটি IO দিতে বলে যখন অন্য কোনও কিছুর প্রয়োজন হয় না।

এটি এখনও আকর্ষণীয় এবং আইওয়েট সমস্যাটি আরও ভালভাবে ব্যাখ্যা করে।

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