# limit for mmaping for readfile (Bug #19749)

- Thread: https://externals.io/message/9438
- Original archive: https://news-web.php.net/php.internals/9438
- Started by Wez Furlong on 2004-04-20T21:10:08+00:00
- Messages: 2
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #9438 — Wez Furlong — 2004-04-20T21:10:08+00:00

URL: https://externals.io/message/9438#9438

http://bugs.php.net/bug.php?id=19749

It's been playing on my mind recently that this bug
hasn't been addressed; the problem was how to guess
precisely what limit to set for mmaping when doing
something like `readfile()`.
[note that some comments are missing from the bugdb
for that bug]

Well, we can solve the problem by allowing the
sysadmin to decide, as you can see in my patch
against PHP 5:

http://www.php.net/~wez/mmap-limit.diff

The default limit is 8MB. If the limit is set to 0,
no limit is applied.

This is separate from memory_limit, so PHP could 
potentially use double the default memory amount for a 
short period of time.  This is still better than allowing
it to eat all the RAM when someone decides to `readfile()`
large media files for example.

--Wez.

---

## #9448 — Andi Gutmans — 2004-04-21T09:52:21+00:00

URL: https://externals.io/message/9438#9448 · In reply to: #9438

Wez,

I have played with mmap() in the past. I found that mapping in relatively 
small blocks such as 1MB does not really hurt performance. I suggest not to 
add yet another INI option but to do it with smaller blocks. I think even 
256KB wouldn't make a big difference.

Andi

At 10:10 PM 4/20/2004 +0100, Wez Furlong wrote:
>http://bugs.php.net/bug.php?id=19749
>
>It's been playing on my mind recently that this bug
>hasn't been addressed; the problem was how to guess
>precisely what limit to set for mmaping when doing
>something like `readfile()`.
>[note that some comments are missing from the bugdb
>for that bug]
>
>Well, we can solve the problem by allowing the
>sysadmin to decide, as you can see in my patch
>against PHP 5:
>
>http://www.php.net/~wez/mmap-limit.diff
>
>The default limit is 8MB. If the limit is set to 0,
>no limit is applied.
>
>This is separate from memory_limit, so PHP could
>potentially use double the default memory amount for a
>short period of time.  This is still better than allowing
>it to eat all the RAM when someone decides to `readfile()`
>large media files for example.
>
>--Wez.
