Выделение наибольшего буфера без использования свопа

В C / C ++ под Linux мне нужно выделить большой (несколько гигабайт) блок памяти для хранения данных в реальном времени от датчика, подключенного к порту Ethernet, и потоковой передачи данных со скоростью около 110 МБ / с. Я хотел бы выделить максимально возможный объем памяти, чтобы максимизировать длину последовательности данных, которую я могу хранить. Однако мне также необходимо убедиться, что не произойдет перестановка дисков, поскольку результирующая задержка и ограниченная пропускная способность доступа к диску приводят к переполнению буфера датчика (очень ограниченному).

Каков наилучший способ определить, сколько памяти выделить? Я ограничен только выделением немного меньшего блока, чем указанная свободная память, или я могу более напрямую взаимодействовать с менеджером виртуальной памяти linux?

Ответы на вопрос(5)

Ваш ответ на вопрос