Re: [ZEND-ENGINE-CVS] cvs: Zend / zend.czend.hzend_config.nw.h
| From: | Ananth Kesari | Date: | Wed, 08 Jan 2003 05:58:46 +0000 |
| Subject: | Re: [ZEND-ENGINE-CVS] cvs: Zend / zend.czend.hzend_config.nw.h | ||
| Groups: | php.zend-engine.cvs | ||
| Request: | Send a blank email to php-zend-engine-cvs+get-768@lists.php.net to get a copy of this message | ||
Gentlemen,
Thanks for your responses. Understood the idea behind having the memory
leaks in PHP:
- Operating system will clean them up.
- To reduce the overhead of tracking memory allocation which may be no
point since the operating system cleans them up anyway.
- A small performance upgrade in CGI environment when free is not
done.
But, just wanted to know when does the operating system be kicked in to
do the clean up? Is it after the script execution is all done or does it
happen even while the script is running? Also, how do we tell the
operating system when to kick in to do the clean up?
At this point I would like to clarify that we are not that much
bothered about the memory leak that is present Per Executable. What we
are bothered about is the memory leak Per Script. It is ok to have some
memory held up by PHP once it loads (let me call that, threshold
memory). But memory should not keep on increasing as scripts are being
executed. This operating memory should be cleaned up on Per Script Basis
so that the memory will hover around the threshold memory and not keep
on increasing. We found this problem on NetWare. I am not sure if the
Windows and Unix users also have this problem. So, we are wondering what
fix we need to do for NetWare for this.
Please clarify.
Thanks,
Ananth.
>>> Sascha Schumann <sascha@schumann.cx> 01/08/03 01:48AM >>>
Ananth,
just let me say that expecting all utilities to clean up
behind themselves will cause an unstable operating system
environment in the long run.
Sometimes applications fail and won't be able to clean up.
Sometimes applications rely on the 30 year old UNIX semantics
which dictate that the operating system will clean up the
processes' resources.
For example, it has been a long tradition in CGI programming
to leave freeing resources to the operating system.
There are also some libraries (especially the popular glib
used for GTK/GIMP/GNOME/etc) which specifically expect this
behaviour for speed reasons.
- Sascha