¿Cuál es el límite de tamaño para mmap?

estoy usandommap() para asignar un objeto de memoria compartida a un proceso. Mi pregunta tiene dos partes:

1) ¿Cuál es el límite de tamaño parammap() a un proceso de linux? (¿hay tal límite?)

2) después de que el proceso se ejecute durante un tiempo, creo que el espacio de direcciones de la memoria virtual del proceso se fragmentará de alguna manera. ¿Esto impactará el tamaño máximo que puedo hacer?mmap() ¿en este proceso?

El kernel de linux utilizado es2.6.27. El tamaño del objeto de memoria compartida es de alrededor de 32 MB. Estoy tratando de acceder a la posibilidad de quemmap() falla con dicho objeto de memoria compartida debido a que no hay suficiente espacio de direcciones virtuales.

Respuestas a la pregunta(1)

Su respuesta a la pregunta