ver tengo saber que procesos paso memoria mas instalar instalacion gestion consumen como memory linux-kernel linux-device-driver

memory - tengo - Asignación de más de 4 MB de memoria contigua anclada en el núcleo de Linux



ver memoria ram linux terminal (2)

Si puede compilar el controlador de su dispositivo PCI en el kernel (es decir, no vinculado como un módulo), podría intentar asignar la memoria en el momento del arranque. Eso debería permitirle omitir los límites superiores de las asignaciones dinámicas. Consulte los controladores de dispositivos de Linux, ed. 3 ch. 8 para más detalles.

Para cierta interacción con un dispositivo PCI que se está construyendo, nos gustaría crear grandes piezas contiguas de memoria a las que la placa pueda acceder. Tal como está ahora, la memoria más grande que he podido asignar es de 4 megabytes de tamaño. Me pregunto si hay algún método para crear regiones más grandes.

Sé que puedo usar la opción de arranque mem= para hacer esto, pero por muchas razones, prefiero no ir por esta ruta. Si, por otro lado, alguien supiera una forma de hacerlo, pero distribúyalo a través de varios nodos, estaría bien.

Como dije inicialmente, estoy limitado a 4 Megabytes actualmente. Las asignaciones se realizan actualmente por __alloc_pages , que está limitada por MAX_ORDER . MAX_ORDER es una constante de tiempo de compilación, y también me preocupa que la edición pueda tener efectos en otros lugares.

Gracias.


CMA (asignación de memoria contigua) es la mejor solución para su necesidad IMO. Solo necesitas enviar al kernel más nuevo.