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, 1 month 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>