One should try ext/memtrack http://pecl.php.net/package/memtrack

Also ext/memprof https://github.com/arnaud-lb/php-memory-profiler/

Julien.Pauli

On Tue, Mar 5, 2013 at 9:14 PM, <nat...@starin.biz> wrote:

> >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.
> >
> >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.
>
> I agree this probably is a good solution and I personally do use it along
> with shared memory tools, however there may be cases where the dev may gain
> more benefit from having a memory-warning installable trigger in place.
> This would allow things like allowing the dev to release certain cache
> objects before others or something completely different that I have not
> thought of yet.
>
> > Running the GC is most likely faster than most cleanup routines a user
> could run, also usually there is not that much stuff cached in PHP scripts.
> If a PHP script has "tons" of data, which it can easily throw >away, in
> memory this sounds like a smell of an bad architecture. Cache cache-worthy
> stuff in memcache or such and fetch only the data you need.
> >
> >Also: What should happen if the system runs out of memory while doing the
> cleanup? Anything sane doesn't sound good either.
> Yes running the GC is much faster except they are two completely different
> processes... in my example the dev is keeping references to data for
> possible future use later on however it's not possible to know when to
> release these references so php's GC can collect them if the user does not
> implement something quite juristic like ticks or frequent function calls
> throughout a code base.
>
> >You can use ticks :)
> >
> >
> http://php.net/control-structures.declare#control-structures.declare.ticks
>
> Yes Ticks are something useable (like said above) however I have found
> ticks are clunky, frequently shunned, and you'd be ticking for no reason
> most of the time.
>
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

Reply via email to