Chúng tôi đang chạy một quy trình thời gian thực trên nhân không phải thời gian thực (CentOS 6) và điều này có lẽ sẽ không thay đổi.
Chúng tôi có một ứng dụng phát video trực tuyến yêu cầu khoảng 500 MB / s lưu lượng PCIe từ một GPU tùy chỉnh liên tục trong 1,5 giờ một lần. Ứng dụng này hoạt động khá tốt - hầu hết thời gian. Tuy nhiên, chúng tôi đã gặp phải tình huống hạt nhân chỉ dừng đáp ứng phục vụ các yêu cầu bộ nhớ hoặc PCIe trong tối đa 500 mili giây mỗi lần. Điều này dường như xảy ra trong tập tin IO nổ từ một luồng khác. Tôi thấy không thể cố gắng sao chép vấn đề này bằng cách thực hiện nhiều tệp giả IO từ không gian người dùng trong khi ứng dụng chính đang chạy.
Có cách nào để buộc (mô phỏng) toàn cầu "đóng băng" hạt nhân Linux (đặc biệt là dừng PCIe hoặc tất cả các truy cập bộ nhớ DDR3 hoặc một cái gì đó tương tự) để chúng tôi có thể tái tạo vấn đề này không?
Chúng tôi có bộ đệm lên tới 10 mili giây được triển khai ngay bây giờ vào bộ nhớ trong, nhưng điều đó là không đủ. Chúng ta có thể đệm vào DDR3 DDR3 và sau đó kết xuất vào máy chủ, nhưng chúng ta cần một phương pháp để kiểm tra tính năng mới này trong thời gian ngắn.
Chúng tôi không muốn hạt nhân đóng băng hoặc khóa vĩnh viễn. Chúng tôi muốn khả năng thiết lập khoảng thời gian.
Tôi đang tìm kiếm thứ gì đó dọc theo dòng viết các giá trị ma thuật để /proc/sys/vm
tạm thời làm cho hệ thống gần như bò, và sau đó quay trở lại sau vài trăm mili giây, nhưng nhìn vào số cách có thể để phá vỡ nó không dành cho người mới như tôi ( https://www.kernel.org/doc/Documentation/sysctl/vm.txt ). Có lẽ là một số numactl
phép thuật?