आप कर्नेल cmdline को "एलेवेटर" पैरामीटर जोड़कर इसे बूट पर सेट कर सकते हैं (जैसे grub.cfgg में)
उदाहरण:
elevator=deadline
यह सभी ब्लॉक उपकरणों के लिए डिफ़ॉल्ट I / O अनुसूचक को "समय सीमा" बना देगा।
यदि आप सिस्टम को बूट करने के बाद शेड्यूलर को क्वेरी या बदलना चाहते हैं, या किसी विशिष्ट ब्लॉक डिवाइस के लिए एक अलग शेड्यूलर का उपयोग करना चाहते हैं, तो मैं इस आसान को बनाने के लिए टूल ioschedset को स्थापित करने और उपयोग करने की सलाह देता हूं ।
https://github.com/kata198/ioschedset
यदि आप आर्कलिनक्स पर हैं तो यह और में उपलब्ध है:
https://aur.archlinux.org/packages/ioschedset
कुछ उदाहरण उपयोग:
# Get i/o scheduler for all block devices
[username@hostname ~]$ io-get-sched
sda: bfq
sr0: bfq
# Query available I/O schedulers
[username@hostname ~]$ io-set-sched --list
mq-deadline kyber bfq none
# Set sda to use "kyber"
[username@hostname ~]$ io-set-sched kyber /dev/sda
Must be root to set IO Scheduler. Rerunning under sudo...
[sudo] password for username:
+ Successfully set sda to 'kyber'!
# Get i/o scheduler for all block devices to assert change
[username@hostname ~]$ io-get-sched
sda: kyber
sr0: bfq
# Set all block devices to use 'deadline' i/o scheduler
[username@hostname ~]$ io-set-sched deadline
Must be root to set IO Scheduler. Rerunning under sudo...
+ Successfully set sda to 'deadline'!
+ Successfully set sr0 to 'deadline'!
# Get the current block scheduler just for sda
[username@hostname ~]$ io-get-sched sda
sda: mq-deadline
उपयोग आत्म-व्याख्यात्मक होना चाहिए। उपकरण स्टैंडअलोन हैं और केवल बैश की आवश्यकता होती है।
उम्मीद है की यह मदद करेगा!
संपादित करें: अस्वीकरण, ये मेरे द्वारा लिखी गई स्क्रिप्ट हैं।