En C/C++ bajo Linux, necesito asignar un gran bloque de memoria (varios gigabytes), para almacenar datos en tiempo real desde un sensor conectado al puerto ethernet y transmitir datos a alrededor de 110MB/s. Me gustaría asignar la mayor cantidad de memoria posible, para maximizar la longitud de la secuencia de datos que puedo almacenar. Sin embargo, también necesito asegurarme de que no haya intercambio de disco, ya que la demora resultante y el ancho de banda limitado de acceso al disco hacen que el buffer (muy limitado) del sensor se desborde.Asignando el buffer más grande sin usar swap
¿Cuál es la mejor manera de determinar cuánta memoria asignar? ¿Estoy limitado a solo asignar un bloque un poco más pequeño que la memoria libre reportada, o puedo interactuar más directamente con el administrador de memoria virtual de Linux?
Por puro interés, ¿qué sensor está utilizando? – Konrad
Duplicado de http://stackoverflow.com/questions/2513505/ –
@ Space_C0wb0y: no es realmente. – Hasturkun