gc_status

(PHP 7 >= 7.3.0, PHP 8)

gc_statusВозвращает информацию о текущем статусе сборщика мусора

Описание

gc_status(): array

Возвращает информацию о текущем статусе сборщика мусора.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает ассоциативный массив со следующими элементами:

  • "runs"
  • "collected"
  • "threshold"
  • "roots"
  • "running"
  • "protected"
  • "full"
  • "buffer_size"
  • "application_time"
  • "collector_time"
  • "destructor_time"
  • "free_time"

Список изменений

ВерсияОписание
8.3.0 Теперь функция gc_status() возвращает следующие дополнительные поля: "running", "protected", "full", "buffer_size", "application_time", "collector_time", "destructor_time" и "free_time".

Примеры

Пример #1 Использование gc_status()

<?php

// создадим дерево объектов, для которых понадобится собирать мусор
$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());

Вывод приведённого примера будет похож на:

array(4) { ["runs"]=> int(5) ["collected"]=> int(100002) ["threshold"]=> int(50001) ["roots"]=> int(0) }

Результат выполнения приведённого примера в PHP 8.3 аналогичен:

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) }

Смотрите также

To Top