Bạn có thể đặt điều này khi khởi động bằng cách thêm tham số "thang máy" vào cmdline hạt nhân (chẳng hạn như trong grub.cfg)
Thí dụ:
elevator=deadline
Điều này sẽ làm cho "deadline" trở thành bộ lập lịch I / O mặc định cho tất cả các thiết bị khối.
Nếu bạn muốn truy vấn hoặc thay đổi bộ lập lịch sau khi hệ thống đã khởi động hoặc muốn sử dụng bộ lập lịch khác cho một thiết bị khối cụ thể, tôi khuyên bạn nên cài đặt và sử dụng công cụ ioschedset để thực hiện việc này dễ dàng.
https://github.com/kata198/ioschedset
Nếu bạn đang sử dụng Archlinux, nó có sẵn sau:
https://aur.archlinux.org/packages/ioschedset
Một số ví dụ sử dụng:
# 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
Cách sử dụng nên được tự giải thích. Các công cụ này là độc lập và chỉ yêu cầu bash.
Hi vọng điêu nay co ich!
EDIT: Tuyên bố từ chối trách nhiệm, đây là những kịch bản tôi đã viết.