File:
[ELWIX - Embedded LightWeight unIX -] /
embedaddon /
php /
Zend /
README.ZEND_MM
Revision
1.1.1.2 (vendor branch):
download - view:
text,
annotated -
select for diffs -
revision graph
Tue May 29 12:34:35 2012 UTC (12 years, 5 months ago) by
misho
Branches:
php,
MAIN
CVS tags:
v5_4_3elwix,
v5_4_29p0,
v5_4_29,
v5_4_20p0,
v5_4_20,
v5_4_17p0,
v5_4_17,
HEAD
php 5.4.3+patches
1: Zend Memory Manager
2: ===================
3:
4: General:
5: --------
6:
7: The goal of the new memory manager (available since PHP 5.2) is to reduce memory
8: allocation overhead and speedup memory management.
9:
10: The new manager's "configure" has no "--disable-zend-memory-manager" option,
11: but it has "--enable-malloc-mm" instead. It is enabled by default in DEBUG
12: build and disabled by default in RELEASE build. When enabled it allows selecting
13: between malloc and emalloc at runtime so you can use internal and external memory
14: debuggers without recompilation.
15:
16: Debugging:
17: ----------
18:
19: Normal:
20:
21: $ sapi/cli/php -r 'leak();'
22:
23: Zend MM disabled:
24:
25: $ USE_ZEND_ALLOC=0 valgrind --leak-check=full sapi/cli/php -r 'leak();'
26:
27: Shared extensions:
28: ------------------
29:
30: Since PHP 5.3.11 it is possible to prevent shared extensions from unloading so
31: that valgrind can correctly track the memory leaks in shared extensions. For
32: this there is the ZEND_DONT_UNLOAD_MODULES environment variable. If set, then
33: DL_UNLOAD() is skipped during the shutdown of shared extensions.
34:
35:
36: Tweaking:
37: ---------
38:
39: The Zend MM can be tweaked using ZEND_MM_MEM_TYPE and ZEND_MM_SEG_SIZE environment
40: variables. Default values are "malloc" and "256K". Dependent on target system you
41: can also use "mmap_anon", "mmap_zero" and "win32" storage managers.
42:
43: $ ZEND_MM_MEM_TYPE=mmap_anon ZEND_MM_SEG_SIZE=1M sapi/cli/php ..etc.
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>