Re: Memory warning hook
| From: | Sebastian Krebs | Date: | Tue, 05 Mar 2013 20:08:08 +0000 |
| Subject: | Re: Memory warning hook | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-66477@lists.php.net to get a copy of this message | ||
2013/3/5 Lazare Inepologlou <linepogl@gmail.com>
> 2013/3/5 Tom Boutell <tom@punkave.com>
>
> > Can't you do this already? memory_limit can be fetched via ini_read,
> > and together with memory_get_usage you should be able to check for
> > this sort of thing. Admittedly having to parse memory_limit (which can
> > be in various units) is not perfect.
> >
>
> This is not the same at all. When are you going to run this code? Memory
> allocations happen all the time. What Nathan asked for is an event that is
> triggered when the memory consumption reaches a threshold.
>
You can use ticks :)
http://php.net/control-structures.declare#control-structures.declare.ticks
>
> However, there is a different solution, which is better IMHO in the case of
> caches: weak references. A weak reference automatically frees the memory of
> the object, when the memory is needed.
> http://php.net/manual/en/book.weakref.php.
>
> Having said that, none of these solutions scale up to multiple servers.
> This is why shared cache systems like memcached are recommended.
>
Well, maybe I don't understand, what you are trying to tell, but if you run
out of memory, this of course only affects one server on its own.
>
>
>
>
> > On Tue, Mar 5, 2013 at 1:23 PM, <nathan@starin.biz> wrote:
> > > As PHP applications are turning into large frameworks one of the issues
> > > arriving is memory management. One of the issues is that many
> frameworks
> > use
> > > sophisticated caching techniques to make accessing the same data
> quickly,
> > > this improves speed it is at the cost of memory. Often the developer
> > knows
> > > these areas that cache and often times already have functions in place
> to
> > > clear out the cache, however in the case where PHP is approaching or
> > exceeds
> > > memory limits PHP runs the GC then dies if it cannot allocate enough
> > memory.
> > > If we implemented "memory warning" triggers or user function that will
> be
> > > called before the GC is executed which allows the user to try and free
> up
> > > some memory on their own. This hopefully would give more flexibility to
> > > allowing these advanced caching techniques but at the same time allow
> the
> > > cache to be cleared out in case memory is getting low.
> > >
> > >
> > >
> > > Thoughts?
> > >
> > >
> > >
> > > Thanks,
> > >
> > > Software Developer
> > >
> > > Nathan Bruer
> > >
> > >
> > >
> >
> >
> >
> > --
> > Tom Boutell
> > P'unk Avenue
> > 215 755 1330
> > punkave.com
> > window.punkave.com
> >
> > --
> > PHP Internals - PHP Runtime Development Mailing List
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
> >
> Lazare INEPOLOGLOU
> Ingénieur Logiciel
>
--
github.com/KingCrunch