array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'es', ), 'this' => array ( 0 => 'function.gc-status.php', 1 => 'gc_status', ), 'up' => array ( 0 => 'ref.info.php', 1 => 'Funciones de Opciones/Info de PHP', ), 'prev' => array ( 0 => 'function.gc-mem-caches.php', 1 => 'gc_mem_caches', ), 'next' => array ( 0 => 'function.get-cfg-var.php', 1 => 'get_cfg_var', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/info/functions/gc-status.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 7 >= 7.3.0, PHP 8)
gc_status — Gets information about the garbage collector
Esta función no tiene parámetros.
Returns an associative array with the following elements:
"runs"
"collected"
"threshold"
"roots"
"running"
"protected"
"full"
"buffer_size"
"application_time"
"collector_time"
"destructor_time"
"free_time"
Versión | Descripción |
---|---|
8.3.0 |
gc_status() now returns the following additional fields:
"running" , "protected" ,
"full" , "buffer_size" ,
"application_time" , "collector_time" ,
"destructor_time" , and "free_time" .
|
Ejemplo #1 gc_status() Usage
<?php
// create object tree that needs gc collection
$a = new stdClass();
$a->b = [];
for ($i = 0; $i < 100000; $i++) {
$b = new stdClass();
$b->a = $a;
$a->b[] = $b;
}
unset($a);
unset($b);
gc_collect_cycles();
var_dump(gc_status());
El resultado del ejemplo sería algo similar a:
array(4) { ["runs"]=> int(5) ["collected"]=> int(100002) ["threshold"]=> int(50001) ["roots"]=> int(0) }
Output of the above example in PHP 8.3 is similar to:
array(12) { ["running"]=> bool(false) ["protected"]=> bool(false) ["full"]=> bool(false) ["runs"]=> int(5) ["collected"]=> int(100002) ["threshold"]=> int(50001) ["buffer_size"]=> int(131072) ["roots"]=> int(0) ["application_time"]=> float(0.031182458) ["collector_time"]=> float(0.020106291) ["destructor_time"]=> float(0) ["free_time"]=> float(0.003707167) }