4、PHP 原生魅力 - 系统功能 - 内存使用

作者: 温新

图书: 【原生 PHP 魅力】

阅读: 166

时间: 2024-09-08 00:06:55

有时需要计算或跟踪运行脚本所使用的内存,这时候就可以使用 PHP 内置函数 memory_get_usage()

<?php

$mem = memory_get_usage();
echo "当前内存使用量: " . convertBytesToReadable($mem) . PHP_EOL;

$num = 0;
for ($i = 1; $i <= 1000000; $i++) {
    $num += $i;
}

$mem = memory_get_usage();

echo '再次获取内存使用量:' . convertBytesToReadable($mem) . PHP_EOL;
echo '实际分配的内存容量:' . convertBytesToReadable(memory_get_usage(true)) . PHP_EOL;


function convertBytesToReadable($bytes, $precision = 2) {
    $units = ['B', 'KB', 'MB', 'GB', 'TB'];
    $bytes = max($bytes, 0);
    $pow = floor(($bytes ? log($bytes) : 0) / log(1024));
    $pow = min($pow, count($units) - 1);
    $bytes /= pow(1024, $pow);

    return round($bytes, $precision) . ' ' . $units[$pow];
}

运行结果:

$ php 3-memory.php 
当前内存使用量: 401.52 KB
再次获取内存使用量:401.55 KB
实际分配的内存容量:2 MB
请登录后再评论