mmapดีมากถ้าคุณมีกระบวนการหลายอย่างในการเข้าถึงข้อมูลในแบบอ่านอย่างเดียวจากไฟล์เดียวกันซึ่งเป็นเรื่องปกติในระบบเซิร์ฟเวอร์ที่ฉันเขียน  mmapอนุญาตให้กระบวนการเหล่านั้นแบ่งปันเพจหน่วยความจำกายภาพเดียวกันโดยบันทึกหน่วยความจำจำนวนมาก
mmapยังช่วยให้ระบบปฏิบัติการเพิ่มประสิทธิภาพการดำเนินการเพจ ตัวอย่างเช่นพิจารณาสองโปรแกรม โปรแกรมAที่อ่าน1MBไฟล์เป็นบัฟเฟอร์ที่สร้างด้วยmallocและโปรแกรม B ซึ่งmmapsไฟล์ 1MB ไปยังหน่วยความจำ หากระบบปฏิบัติการต้องสลับส่วนหนึ่งของAหน่วยความจำของออกมันจะต้องเขียนเนื้อหาของบัฟเฟอร์เพื่อสลับก่อนจึงจะสามารถนำหน่วยความจำกลับมาใช้ใหม่ได้ ในBกรณีที่ไม่มีการแก้ไขใด ๆ s mmap'd หน้าสามารถนำกลับมาทันทีเพราะระบบปฏิบัติการรู้วิธีที่จะเรียกคืนได้จากไฟล์ที่มีอยู่ที่พวกเขาmmap'd จาก (ระบบปฏิบัติการสามารถตรวจสอบว่าหน้าใดที่ไม่ได้แก้ไขโดยเริ่มต้นทำเครื่องหมายmmapหน้า d ที่เขียนได้เป็นอ่านอย่างเดียวและจับข้อบกพร่อง segคล้ายกับกลยุทธ์Copy on Write )  
mmapยังเป็นประโยชน์สำหรับการสื่อสารระหว่างกระบวนการ คุณสามารถmmapไฟล์เป็นอ่าน / เขียนในกระบวนการที่ต้องสื่อสารและจากนั้นใช้การซิงโครไนซ์แบบดั้งเดิมในmmap'dภูมิภาค (นี่คือสิ่งที่MAP_HASSEMAPHOREธงมีไว้สำหรับ)
สถานที่หนึ่งที่mmapน่าอึดอัดใจคือถ้าคุณต้องการทำงานกับไฟล์ที่มีขนาดใหญ่มากบนเครื่อง 32 บิต นี่คือเนื่องจากmmapต้องค้นหาบล็อกที่อยู่ติดกันในพื้นที่ที่อยู่ของกระบวนการของคุณที่มีขนาดใหญ่พอที่จะพอดีกับช่วงทั้งหมดของไฟล์ที่ถูกแมป สิ่งนี้อาจกลายเป็นปัญหาได้หากพื้นที่ที่อยู่ของคุณมีการแยกส่วนซึ่งคุณอาจมีพื้นที่ว่าง 2 GB ที่ว่าง แต่ไม่มีช่วงใดช่วงหนึ่งที่เหมาะสมกับการแมปไฟล์ 1 GB ในกรณีนี้คุณอาจต้องแมปไฟล์เป็นชิ้นเล็กกว่าที่คุณต้องการเพื่อให้พอดี
ความอึดอัดใจที่อาจเกิดขึ้นได้อีกอย่างหนึ่งที่mmapใช้แทนการอ่าน / เขียนคือคุณต้องเริ่มต้นการแมปของคุณเมื่อออฟเซ็ตขนาดหน้ากระดาษ ถ้าคุณเพียงต้องการที่จะได้รับข้อมูลบางส่วนที่ชดเชยXคุณจะต้อง fixup mmapที่ชดเชยเพื่อให้มันเข้ากันได้กับ
และสุดท้ายการอ่าน / เขียนเป็นวิธีเดียวที่คุณสามารถทำงานกับไฟล์บางประเภท  mmapไม่สามารถนำมาใช้ในสิ่งที่ต้องการท่อและttys