首页 > 系统相关 >PHP查询内存占用函数

PHP查询内存占用函数

时间:2023-12-28 13:44:59浏览次数:30  
标签:get 占用 内存 数组 memory usage PHP

PHP查询内存占用函数

memory_get_usage()

在PHP中,包括ThinkPHP框架中,直接查询一个数组占用的内存大小可以使用memory_get_usage()函数。这个函数返回当前PHP脚本消耗的内存总量(以字节为单位)。

以下是一个简单的示例,展示如何在ThinkPHP中获取一个数组占用的内存大小:

// 在ThinkPHP控制器或其他适当的位置
public function testArrayMemoryUsage()
{
    // 创建一个数组
    $array = array();
    for ($i = 0; $i < 1000; $i++) {
        $array[$i] = $i;
    }

    // 记录开始时的内存使用情况
    $startMemory = memory_get_usage();

    // 执行一些操作(这里只是作为一个示例,没有实际操作)

    // 记录结束时的内存使用情况
    $endMemory = memory_get_usage();

    // 计算并输出数组占用的内存大小(假设其他操作不影响内存使用)
    $arrayMemoryUsage = $endMemory - $startMemory;
    echo "The array occupies approximately " . $arrayMemoryUsage . " bytes of memory.";
}

请注意,这个方法只能给出一个近似的数组内存使用量,因为在PHP中,内存管理是动态的,而且可能会有其他因素影响总体的内存使用情况。如果你需要更精确的计算,可能需要考虑每个元素的类型和大小,然后乘以数组的长度。但是,对于大多数情况,memory_get_usage()应该足够用来评估大致的内存使用情况。

demo

<?php
    function get_memory() {
        $size = memory_get_usage();
        $unit=array('B','KB','MB','GB','TB','PB');
        return @round($size/pow(1024,($i=floor(log($size,1024)))),2).' '.$unit[$i];
    }
    echo get_memory();
?>



欢迎关注公-众-号【TaonyDaily】、留言、评论,一起学习。

公众号

Don’t reinvent the wheel, library code is there to help.

文章来源:刘俊涛的博客


若有帮助到您,欢迎点赞、转发、支持,您的支持是对我坚持最好的肯定(_)

标签:get,占用,内存,数组,memory,usage,PHP
From: https://www.cnblogs.com/lovebing/p/17932538.html

相关文章

  • 短小精悍(5) - Rust内存清零库zeroize介绍
    今天带来的是一个“短小精悍”的库:zeroize。zeroize可以在确保不被编译器优化的前提下安全高效地清空一段内存,适合在保密应用内使用。用法zeroize的核心用法很简单:usestd::string::String;usezeroize::Zeroize;fnmain(){letmutuser_password=String::from("qw......
  • php语法随笔
    域操作符双冒号::,不创建对象调用类中的常量、变量和方法构造方法:void__construct(变量1,变量2,)继承:先查找子类构造方法,若无调用父类的构造方法,php只支持单继承(只有一个父类)$this:在类内部使用,代表本身::(双冒号),parent(类内部使用,调用父类成员常量、变量和方法),self(类内部......
  • PHP 处理菜单分级树状结构
    <?php//原始数组$originalArray=[0=>["id"=>1,"parent_id"=>0,"name"=>"首页","name_id"=>"1"],1=>["id"=>2,"parent_id"......
  • 初识php之 nginx + php
    下载php:http://windows.php.net/download/  添加环境变量:配置php.ini文件如果没有php.ini文件则可以复制php.ini-development文件重命名为php.ini文件 找到doc_root修改为项目文件夹注意不要用反斜杠作为路径分隔符  检查extension_dir对应php下面的ext文件......
  • 一文真正掌握内存屏障memory_barrier及其用途
    在linux源码中经常遇到__asm__函数。它其实是函数asm的宏定义#define__asm__asm,asm函数让系统执行汇编语句。__asm__常常与__volatile__一起出现。__volatile__限制编译器不能对下面的汇编语句进行优化处理。现代cpu通常具有多级缓存,寄存器、一级、二级、三......
  • 如何处理Linux系统中内存不足的问题
    在Linux系统中,如果遇到内存不足的问题,可以尝试以下方法进行处理:1.通过命令`free-m`查看当前Linux系统的内存使用情况,包括总内存数、已使用的内存数和空闲的内存数。这样可以对系统的内存状况有一个直观的了解。2.找出占用内存过高的进程。可以使用`top`命令查看内存占用情况,......
  • centos 查看 某个应用所占用的内存大小
    要查看某个应用程序所使用的内存大小,可以使用以下步骤在CentOS上进行:打开终端,并登录到CentOS服务器。使用ps命令结合grep过滤器来查找特定应用程序的进程ID(PID)。假设要查找名为"myapp"的应用程序,可以运行以下命令:psaux|grepmyapp这将显示包含"myapp"关键字......
  • break 或 continue 循环函数,使用some同forEarch一样,但是直到找到就不继续往下循环,节省
    停止循环是循环中一个常见的需求。使用for循环我们可以用break提前结束循环。consta=[0,1,2,3,4];for(vari=0;i<a.length;i++){if(a[i]===2){break;//stoptheloop}console.log(a[i]);}//>0,1另一个常见的需求使我们需要直接取......
  • 磁盘调度算法、虚拟内存、抖动(颠簸)、堆栈访问速度、内存分配、内存交换、编码(ASCII、U
    常见的几种磁盘调度算法:读写一个磁盘块的时间的影响因素有:......
  • 查看内存占用: top和free的区别
    top:能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。 free:显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。1)Mem是实体内存,SWAP是交换分区(虚拟内存)2)free是真正尚未被使用的物理内存数量3)available是从......