কেন উবুন্টু 16.04 সমস্ত ড্রাইভ আইও সিডিউলারগুলিকে "ডেডলাইন" সেট করে?


17

আমি সবেমাত্র আমার ল্যাপটপে একটি দ্বিতীয় বিভাজনে জুবুন্টু 16.04-64 বিট ইনস্টল করেছি। আমি লক্ষ্য করেছি যে এটি সময়ে কিছুটা ধীর হয়ে গেছে, তাই আমি এটি পরীক্ষা করেছিলাম যে এটি কোন ড্রাইভের জন্য সিআইডি ব্যবহার করছে যা deadlineসমস্ত ড্রাইভের জন্য দেখা যাচ্ছে । আমার বেশ কয়েকটি এসএসডি এবং হার্ড ড্রাইভ রয়েছে তাই আমি জানি যে এসএসডি এবং হার্ড ড্রাইভের জন্য "সময়সীমা" সবচেয়ে ভাল cfq

আমি অন্য পার্টিশনে 14.04 এ বুট করেছি এবং এটি cfqঘোরানো ড্রাইভগুলির deadlineজন্য এবং এসএসডি হিসাবে ব্যবহার করা হচ্ছে, যেমনটি করা উচিত। আমি, /etc/udev/rules.d14.04 ড্রাইভের ধরণের জন্য কনফিগার করার জন্য কোনও নিয়ম ব্যবহার করছে কিনা তাও খতিয়ে দেখলাম তবে এটি সেখানে নেই, তাই আমি ধরে নিলাম কার্নেলটি এটি করছে কিনা is

সুতরাং আমি ভাবছি যে এটি কোনও বাগ কিনা বা তারা এখন সব কিছুর জন্য "সময়সীমা" ব্যবহার করছে?

আপডেট: /etc/udev/rules.d সম্পর্কে আমি যে মন্তব্যটি লিখেছিলাম তা একটি ভুল ছিল। আমি কয়েক বছর আগে এসএসডি ব্যবহার শুরু করার পর থেকে আবর্তনের ধরণ অনুসারে আমি শিডিয়ুলার পরিবর্তন করার জন্য একটি উদেব নিয়মটি ব্যবহার করছি (ঠিক নীচে উত্তরটি নীচে রয়েছে) change আমার ধারণা আমি ঠিক ভুলে গেছি ... বুড়ো হয়ে যাচ্ছি। যাইহোক, আমি যে রেফারেন্সগুলি ব্যবহার করেছি তার মধ্যে একটি হ'ল ডেবিয়ান এসএসডি অপটিমাইজেশন উইকি

এটি অন্তর্ভুক্ত করা ভাল হবে না? শুধু একটি পরামর্শ!

উত্তর:


6

14.04 প্রকাশের সাথে সাথে 3.13 কার্নেলের ডিফল্ট শিডিয়ুলার সিএফকিউ থেকে ডেটলাইনে পরিবর্তন করা হয়েছিল ।

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


1
পড়ার জন্য ধন্যবাদ, খুব আলোকিত! ইউএসবি ইস্যুতে আমি প্রায়শই এসডি কার্ড এবং টিডাব্লুআরপিতে অ্যান্ড্রয়েড ট্যাবলেট নিয়ে এসেছি। পরবর্তী সময়ে, এটি বেশ কয়েক মিনিটের জন্য ডানদিকে স্তব্ধ হবে। কেভিএম সমস্যাটি আমার ভিবি অতিথির উপর কখনই দেখাবে না কারণ তারা আমার এসএসডি ডাব্লু / ডেডলাইনে রয়েছে।
curt54

32

উবুন্টু কার্নেল টিম নিয়মিতভাবে বিভিন্ন জেনেরিক I / O সময়সূচী পছন্দ সম্পর্কে ধারণা পেতে বিভিন্ন ফাইল সিস্টেম এবং I / O সময়সূচীগুলিতে বিভিন্ন সিমুলেটেড ওয়ার্কলোডের বিশ্লেষণ নিয়মিত চালায়। সাধারণ উত্তরটি হ'ল জেনেরিক কনফিগারেশনের জন্য বিভিন্ন ধরণের মিডিয়াতে সমস্ত ধরণের ইনস্টল করার জন্য সঠিক আই / ও শিডিয়ুলারের পছন্দ নেই। স্মরণযোগ্য মূল বিষয়গুলি হ'ল:

  1. সিস্টেমগুলি এসএসডি তে চলেছে, সুতরাং নূপ বা সময়সীমা এইগুলির জন্য সেরা; নুপের সময়সীমা চেয়ে কম সিপিইউ ওভারহেড রয়েছে।

  2. সিএফকিউ বনাম ডেডলাইন একটি হার্ড কল। সিএফকিউ আরও নমনীয়তার অনুমতি দেয়। তবে, আমরা দেখতে পেয়েছি যে সিমুলেটেড I / O অপারেশনগুলির বিস্তৃত পরিসরের জন্য, সময়সীমা সিএফকিউর তুলনায় কম বিলম্ব এবং কম উচ্চতর থ্রুটপুট সরবরাহ করেছে।

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

http://kernel.ubuntu.com/~cking/fs-tests/

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


5
আমরা উবুন্টু জেস্টি ৪.১০ কার্নেলের জন্য সিএফকিউ ডিফল্ট হিসাবে ব্যবহার করতে গিয়েছি এবং নতুন CONFIG_BLK_WBT_MQ (মাল্টিক্যু রাইটব্যাক থ্রোটলিং) সক্ষম করেছি কারণ এটি ফ্ল্যাশ ডিভাইসের মতো ধীর ডিভাইসের সাথে মলিন ক্যাশে রাইটব্যাক সমস্যা সমাধান করে।
কলিন ইয়ান কিং

1
আমরা সম্ভবত এখন BFQ কে ডিফল্ট হিসাবে দেখতে যাচ্ছি যে এটি কার্নেল 4.12 এ রয়েছে?
জন্টি ডো

আমরা এটিকে 4.12 / 4.13 এর জন্য মূল্যায়ন করব, আমি কেবারের সাথে কিছুটা প্রাথমিক পরীক্ষাও করেছি তবে এই সপ্তাহে 4.12 বের হওয়ার পরে আমি আবার এগুলি পুনর্বিবেচনা করব।
কলিন ইয়ান কিং

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

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

9

আমি জানি না কেন বিকাশকারীরা deadlineডিফল্ট সময়সূচী হিসাবে বেছে নেওয়ার সিদ্ধান্ত নিয়েছিলেন , সম্ভবত এটিই কারণ বেশিরভাগ নতুন কম্পিউটার এসএসডি সহ শিপ করে, যার উপর সাধারণত সিস্টেমগুলি ইনস্টল থাকে। আপনি যদি ইতিমধ্যে ইনস্টল না করে থাকেন তবে আপনি নিজেই শিডিউল সেট করতে পারেন ... ইনস্টল করুন gksu:

একটি টার্মিনাল খুলুন এবং কার্যকর করুন:

sudo apt install gksu  

তারপরে এই আদেশটি কার্যকর করুন:

gksudo gedit /etc/udev/rules.d/60-schedulers.rules  

খালি ফাইলটিতে নিম্নলিখিত পাঠ্যটি আটকে দিন এবং পরিবর্তিত ফাইলটি সংরক্ষণ করুন।

# set cfq scheduler for rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="cfq"

# set deadline scheduler for non-rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline"  

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


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