Tôi không ở Ubuntu, nhưng những gì tôi đã làm ở Fedora có thể giúp bạn.
BFQ là một trình lập lịch blk-mq (Cơ chế xếp hàng IO Khối đa hàng đợi), vì vậy bạn cần bật blk-mq khi khởi động, chỉnh sửa tệp / etc / default / grub scsi_mod.use_blk_mq=1
của bạn và thêm vào GRUB_CMDLINE_LINUX
, đây là tệp grub của tôi, như một ví dụ:
GRUB_TIMEOUT=3
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=false
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="quiet vt.global_cursor_default=0 scsi_mod.use_blk_mq=1"
GRUB_DISABLE_RECOVERY="true"
Sau đó, bạn phải cập nhật grub của bạn. Trên Fedora, chúng tôi phải sử dụng sudo grub2-mkconfig -o /path/to/grub.cfg
, tùy thuộc vào phương thức khởi động . Trên Ubuntu, bạn chỉ cần chạy:
sudo update-grub
Khởi động lại và nếu bạn nhận được điều này:
cat /sys/block/sda/queue/scheduler
[mq-deadline] none
Có lẽ kernel của bạn đã được biên dịch với BFQ dưới dạng một mô-đun và đây cũng có thể là trường hợp của Kyber.
sudo modprobe bfq
sudo cat /sys/block/sda/queue/scheduler
[mq-deadline] bfq none
Bạn có thể thêm nó vào lúc khởi động bằng cách thêm một /etc/modules-load.d/bfq.conf
tệp chứa bfq
.
Điều quan trọng cần lưu ý là việc bật blk_mq không thể sử dụng bộ lập lịch không blk_mq, vì vậy bạn sẽ mất noop cfq và thời hạn không mq
Rõ ràng hệ thống lập lịch blk_mq không hỗ trợ cờ thang máy trong grub, các quy tắc udev có thể được sử dụng thay thế, với phần thưởng là cung cấp một điều khiển chi tiết hơn.
Tạo /etc/udev/rules.d/60-scheduler.rules
nếu nó không tồn tại và thêm:
ACTION=="add|change", KERNEL=="sd*[!0-9]|sr*", ATTR{queue/scheduler}="bfq"
Như được chỉ ra ở đây nếu cần, bạn có thể phân biệt giữa các thiết bị quay (HDD) và không quay (SSD) trong các quy tắc udev bằng cách sử dụng thuộc tính ATTR{queue/rotational}
. Hãy nhận biết rằng Paolo Valente, nhà phát triển BFQ, chỉ trong LinuxCon châu Âu rằng BFQ có thể là một lựa chọn tốt hơn so với noop
hoặc deadline
schedulers về guaranties độ trễ thấp, những gì làm cho một lời khuyên tốt để sử dụng nó cho ổ SSD quá.
So sánh của Paolo: https://www.youtube.com/watch?v=1cjZeaCXIyM&feature=youtu.be
Lưu nó, và tải lại và kích hoạt udev rules
:
sudo udevadm control --reload
sudo udevadm trigger