Tôi là tác giả của blogpost được liên kết bởi người hâm mộ ubfox: http://sevencapitalsins.wordpress.com/2007/08/10/low-latency-kernel-wtf/
Bài đăng trên blog không trình bày bất kỳ sự thật, đó chỉ là lý thuyết . Thực tế, đó là cách nó hoạt động: bộ xử lý "dừng" thường xuyên hơn để xem liệu có một số quy trình đòi hỏi sự chú ý ngay lập tức. Điều đó có nghĩa là các quy trình đó sẽ được thực hiện trước các quy trình khác, vì vậy bạn sẽ không bỏ qua các khung khi mã hóa hoặc có thời gian trễ lớn giữa các lần nhấp chuột và cái chết của kẻ thù. Điều đó không có nghĩa là tất cả các quy trình sẽ kết thúc sớm hơn: thực tế CPU đang mất một phần thời gian lớn hơn để quyết định quá trình nào sẽ được thực hiện tiếp theo và thực hiện chuyển đổi ngữ cảnh. Vì vậy, tổng thời gian thực hiện dài hơn và đó là lý do tại sao không ai chạy kernel có thể truy cập được trên máy chủ web hoặc máy cơ sở dữ liệu. Nhưng một hạt nhân 300Hz (hoặc thậm chí 1000Hz) được ưu tiên là tốt nhất cho các game thủ.
Nhưng ngày nay các bộ xử lý có nhiều lõi, vì vậy khi có một vài quy trình cần sự chú ý, chúng có thể dễ dàng được phân bổ trên một lõi khác thay vì chờ lõi lấy nó.
(stackexchange yêu cầu tôi tham khảo / kinh nghiệm cá nhân: Tôi là một kỹ sư điện tử, noobgamer khát máu liên kết với một số người chơi trò chơi tại http://www.gamezoo.it ).
Vì vậy, theo nguyên tắc thông thường, tôi muốn nói: nếu bộ xử lý của bạn là lõi tứ tần số cao, mạnh mẽ và bạn thường không mở hàng tấn trang web trong khi mã hóa / giải mã / chơi trò chơi (huh), bạn có thể chỉ cần thử hạt nhân chung (hoặc i686 hoặc amd64 nếu chúng tồn tại) và có thông lượng cao nhất có thể (nghĩa là, việc xử lý số thô mà bộ xử lý có thể thực hiện). Nếu bạn gặp vấn đề (chúng thực sự không đáng kể) hoặc máy của bạn hơi mạnh hơn so với đầu thị trường, hãy tìm kiếm sự khinh miệt.
Nếu bạn đang sử dụng máy cấp thấp chỉ có một hoặc hai lõi, thì hãy thử -lowlatency. Bạn cũng có thể thử thời gian thực, nhưng bạn sẽ thấy rằng nó có xu hướng chặn các quy trình cho đến khi những người "thời gian thực" hoàn thành công việc của họ. Tôi tin rằng hạt nhân thời gian thực không phải là "vanilla", nhưng đã áp dụng bản vá CONFIG_PREEMPT_RT. Tôi nghĩ rằng hạt nhân thời gian thực chỉ dành cho những người phải xây dựng một ứng dụng duy nhất trên các hệ thống nhúng, vì vậy người dùng máy tính để bàn thông thường không nên có lợi ích thực sự bởi vì họ thường chạy một số lượng ứng dụng hợp lý cùng một lúc.
Cuối cùng, các tùy chọn kernel có liên quan nhất nếu bạn muốn tự biên dịch lại kernel của mình để có một máy tính để bàn có độ trễ thấp là:
PREEMPT=y
và:
CONFIG_1000_HZ=y
Để thêm một số quyền hạn, bạn có thể kiểm tra cái này:
CONFIG_NO_HZ=y
-realtime
là thời gian thực, thì những gì-rt
đứng cho? Và có chuyện gì với-preempt
kernel? Tôi sẽ cảm ơn gemue2010, anh ấy đã làm một công việc khá tốt để giải thích nó, nhưng nó vẫn không giải thích mọi thứ.