Skip to content

Files

Latest commit

Mar 21, 2018
929de2a · Mar 21, 2018

History

History
This branch is 17 commits ahead of, 36147 commits behind php/php-src:master.

Zend

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Mar 21, 2018
Jan 5, 2006
Apr 16, 2015
Jan 25, 2005
Apr 12, 2004
Mar 6, 2012
Jul 15, 2013
Feb 7, 2017
Feb 26, 2001
Dec 12, 2016
May 24, 2010
Jan 27, 2017
Oct 4, 1999
Jun 9, 2017
Jan 11, 2010
Oct 18, 2011
Jan 2, 2018
Jan 2, 2018
Apr 7, 1999
Jan 2, 2018
Jan 23, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Mar 15, 2018
Mar 15, 2018
Jan 3, 2018
Jan 2, 2018
Jan 11, 2018
Jan 2, 2018
Jan 15, 2018
Jan 2, 2018
Mar 18, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jul 4, 2017
Apr 24, 2010
Jul 4, 2017
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Feb 28, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 13, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Mar 5, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Mar 10, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Dec 16, 2016
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Mar 16, 2018
Mar 15, 2018
Jan 2, 2018
Mar 15, 2018
Mar 15, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 3, 2018
Jan 3, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 26, 2018
Jan 2, 2018
Jul 21, 2017
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Jan 9, 2018
Jan 9, 2018
Jun 29, 2017
Jan 2, 2018
Jan 2, 2018
Jan 2, 2018
Zend Memory Manager
===================

General:
--------

The goal of the new memory manager (available since PHP 5.2) is to reduce memory
allocation overhead and speedup memory management.

The new manager's "configure" has no "--disable-zend-memory-manager" option,
but it has "--enable-malloc-mm" instead.  It is enabled by default in DEBUG
build and disabled by default in RELEASE build. When enabled it allows selecting
between malloc and emalloc at runtime so you can use internal and external memory
debuggers without recompilation.

Debugging:
----------

Normal:

    $ sapi/cli/php -r 'leak();'

Zend MM disabled:

    $ USE_ZEND_ALLOC=0 valgrind --leak-check=full sapi/cli/php -r 'leak();'

Shared extensions:
------------------

Since PHP 5.3.11 it is possible to prevent shared extensions from unloading so
that valgrind can correctly track the memory leaks in shared extensions. For
this there is the ZEND_DONT_UNLOAD_MODULES environment variable. If set, then
DL_UNLOAD() is skipped during the shutdown of shared extensions.


Tweaking:
---------

The Zend MM can be tweaked using ZEND_MM_MEM_TYPE and ZEND_MM_SEG_SIZE environment
variables.  Default values are "malloc" and "256K". Dependent on target system you
can also use "mmap_anon", "mmap_zero" and "win32" storage managers.

	$ ZEND_MM_MEM_TYPE=mmap_anon ZEND_MM_SEG_SIZE=1M sapi/cli/php ..etc.