Liên quan đến câu hỏi cái nào tốt hơn, bộ lập lịch CFS hoặc BFS :
Tôi tìm thấy một danh sách các lịch trình có sẵn ở đâu?
Và làm thế nào để tôi chuyển đổi giữa chúng?
Liên quan đến câu hỏi cái nào tốt hơn, bộ lập lịch CFS hoặc BFS :
Tôi tìm thấy một danh sách các lịch trình có sẵn ở đâu?
Và làm thế nào để tôi chuyển đổi giữa chúng?
Câu trả lời:
Bạn sẽ phải tải xuống, vá và biên dịch kernel của riêng bạn vì BFS hiện không phải là một phần của kernel chính. Hạt nhân chính chỉ chứa một bộ lập lịch và không có nghĩa là có nhiều bộ lập lịch trong cùng một cơ sở mã, hoặc thậm chí các bộ lập lịch có thể chuyển đổi nhanh chóng (đó là điều thậm chí có thể được thực hiện). Nó chỉ đơn giản là quá phức tạp, và không đáng nỗ lực.
Vì vậy, để có được BFS trên hệ thống của bạn:
Tuy nhiên, lợi ích của việc chạy BFS so với CFS là rất nhỏ, đặc biệt là với các phiên bản kernel mới hơn. Hãy nhớ rằng CFS liên tục được cải thiện.
Đã nghiên cứu điều này một chút, dường như chỉ có hai bộ lập lịch cho Linux: CFS và BFS .
Cách đơn giản nhất để cài đặt BFS trong Ubuntu 10.10 là bản vá PPA :
sudo add-apt-repository ppa:chogydan/ppa
sudo apt-get update
sudo apt-get install linux-image-generic-ck linux-headers-generic-ck
Bạn cũng có thể cài đặt bản vá bằng Trung tâm phần mềm Ubuntu như được mô tả trong "PPA là gì và tôi sử dụng chúng như thế nào" .
Bản vá cài đặt một kernel (đã vá) mới, sẽ xuất hiện trong menu GRUB khi khởi động với hậu tố "-ck". Chuyển đổi giữa các bộ lập lịch bằng cách khởi động lại và chọn kernel thích hợp trong menu boot.
Về hiệu suất
Trong trường hợp của tôi, chạy Folding @ Home trong nền trên máy tính để bàn (tám luồng F @ H trên tám lõi trên Intel i7 2600K), BFS tốt hơn đáng kể: Phản hồi trên máy tính để bàn nhanh hơn (không phải là một sự khác biệt lớn, nhưng chắc chắn đáng chú ý) trong khi ứng dụng nền F @ H nhanh hơn 20-25%.
Trong kịch bản này, xử lý đồng thời việc sử dụng máy tính để bàn tương tác và các tác vụ nền nặng cho CPU chạy dài, CFS có xu hướng để một lõi không hoạt động trong thời gian dài. BFS xuất hiện tốt hơn nhiều khi sử dụng tất cả các lõi 100% cho các tác vụ nền trong khi vẫn cung cấp phản hồi nhanh cho các tác vụ trên máy tính để bàn tương tác.
Có lẽ không có bộ lập lịch duy nhất nào sẽ thực hiện tối ưu dưới mọi kết hợp tải có thể, nhưng có những trường hợp BFS tốt hơn.
Mặc dù vậy, phần dưới đây hoạt động với tôi trên YMMV chính xác (Ubuntu 12.04).
pf-kernel
Cách tốt nhất để cài đặt BFS trên hệ thống Ubuntu ngày hôm nay (tháng 12 năm 2013) dường như là cài đặt pf-kernel , về cơ bản là một hạt nhân tiêu chuẩn với một loạt các bản vá hiệu năng được áp dụng. Những bản vá này bao gồm:
Tôi đã tìm thấy một số hướng dẫn về cách cài đặt các pf-kernel
gói cho Ubuntu trong bài viết. Nhận hiệu suất máy tính để bàn Linux tốt hơn và nhiều hơn nữa với pf-kernel . '- Tuy nhiên, các hướng dẫn này có phần lỗi thời, vì nó chỉ ra một nguồn không tồn tại cho Debian có liên quan gói. Nhưng tôi đã tìm thấy chuỗi pf-kernel của Ubuntu cho Ubuntu Ubuntu (trên các pk-kernel
diễn đàn) có đề cập rằng các gói Debian có thể được tải xuống từ tài khoản Dropbox của người dùng diễn đàn big_bum .
pf-kernel
Máy tôi cài đặt là một máy tính xách tay 32 bit cũ, vì vậy tôi đã bắt đầu bằng cách tải xuống các yêu cầu linux-headers
và linux-image
gói vào một thư mục trên máy của tôi được gọi ~/kernel
.
(Chuyển đến tài khoản Dropbox đã đề cập ở trên để tìm phiên bản 64 bit và / hoặc phiên bản mới hơn của các gói này.)
Sau đó, tôi đã làm theo các hướng dẫn trên mạng Nhận hiệu năng máy tính để bàn Linux tốt hơn và nhiều hơn nữa với pf-kernel , và thực hiện các lệnh sau:
$ cd ~/kernel
$ sudo dpkg -i *.deb
Mọi thứ dường như hoạt động trơn tru, vì vậy tôi khởi động lại.
Một kiểm tra nhanh dường như chỉ ra rằng nó hoạt động, ví dụ lệnh uname -a
báo cáo rằng tôi đang sử dụng pf-kernel
:
Linux siobhan 3.12.2-pf + # 6 SMP PREEMPT Thứ hai ngày 2 tháng 12 19:09:51 EET 2013 i686 i686 i386 GNU / Linux
Và cat /sys/block/sda/queue/scheduler
cho thấy BFQ bây giờ là bộ lập lịch đĩa hiện tại (cho sda
đĩa):
noop deadline cfq [bfq]
Vá và cài đặt kernel mới với BFS. Bạn phải sử dụng hạt nhân sepatare, không có cách nào sử dụng cả hai trong cùng một hình ảnh hạt nhân (đặc biệt là để xoay chúng khi đang di chuyển)