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

// 创建需要 gc 收集的对象树
$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