Мне нужно, чтобы процесс выполнялся в режиме реального времени, насколько это возможно.
Вся связь осуществляется через разделяемую память — файлы с отображением памяти — вообще без системных вызовов — используется занятое ожидание в разделяемой памяти.
Процесс выполняется с приоритетом реального времени, и вся память блокируется с помощью mlockall(MCL_CURRENT|MCL_FUTURE)
, что завершается успешно, и у процесса достаточно ulimits
, чтобы заблокировать всю память.
Когда я запускаю его на нем perf stat -p PID
, я все еще получаю количество незначительных ошибок страниц.
Я тестировал это как с привязкой к процессу, так и без нее.
Вопрос:
Можно ли их вообще устранить - даже мелкие ошибки страниц?