Was ist die Größenbeschränkung für mmap

ich benutzemmap() Zuordnen eines Shared Memory-Objekts zu einem Prozess. Meine Frage besteht aus zwei Teilen:

1) Wofür ist die Größenbeschränkung?mmap() zu einem Linux-Prozess? (Gibt es eine solche Grenze?)

2) Nach einer Weile des Prozesses denke ich, dass der Adressraum des virtuellen Speichers des Prozesses irgendwie fragmentiert sein wird. Wird dies die maximale Größe beeinflussen, die ich tun kann?mmap() in diesem Prozess?

Der verwendete Linux-Kernel ist2.6.27. Die Größe des Shared Memory-Objekts beträgt ca. 32 MB. Ich versuche zuzugreifen, was die Möglichkeit ist, dassmmap() schlägt mit einem solchen gemeinsam genutzten Speicherobjekt fehl, da nicht genügend virtueller Adressraum vorhanden ist.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage