教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 php中的内存管理的介绍

php中的内存管理的介绍

发布时间:2021-01-14   编辑:jiaochengji.com
教程集为您提供php中的内存管理的介绍等资源,欢迎您收藏本站,我们将为您提供最新的php中的内存管理的介绍资源

本篇文章给大家带来的内容是关于php中的内存管理的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

一、php内存管理概述——Zend引擎

由于计算机的内存由操作系统进行管理,所以普通应用程序是无法直接对内存进行访问的。

应用程序只能向操作系统申请内存,通常的应用也是这么做的,在需要的时候通过类似malloc之类的库函数 向操作系统申请内存。

在一些对性能要求较高的应用场景下是需要频繁的使用和释放内存的, 比如Web服务器,编程语言等,由于向操作系统申请内存空间会引发系统调用, 系统调用和普通的应用层函数调用性能差别非常大,因为系统调用会将CPU从用户态切换到内核, 因为涉及到物理内存的操作,只有操作系统才能进行,而这种切换的成本是非常大的, 如果频繁的在内核态和用户态之间切换会产生性能问题。

鉴于系统调用的开销,一些对性能有要求的应用通常会自己在用户态进行内存管理, 例如第一次申请稍大的内存留着备用,而使用完释放的内存并不是马上归还给操作系统, 可以将内存进行复用,这样可以避免多次的内存申请和释放所带来的性能消耗。

PHP不需要显式的对内存进行管理,这些工作都由Zend引擎进行管理了。PHP内部有一个内存管理体系, 它会自动将不再使用的内存垃圾进行释放。

二、php中查看与设置内存的相关参数与函数

配置内存大小:

(1)php.ini中可以更改配置memory_limit = 32M
(2)若环境中没有禁用ini_set()函数,可以通过此函数设置:ini_set("memory_limit", "128M");

查看内存情况:

(1)memory_get_usage(),这个函数的作用是获取 目前PHP脚本所用的内存大小。
(2)memory_get_peak_usage(),这个函数的作用返回 当前脚本到目前位置所占用的内存峰值,这样就可能获取到目前的脚本的内存需求情况。

本篇文章到这里就已经全部结束了,更多其他精彩内容可以关注教程集的php视频教程栏目!

以上就是php中的内存管理的介绍的详细内容,更多请关注教程集其它相关文章!

  • 本文转载于:segmentfault,如有侵犯,请联系jquerycn@qq.com删除
  • 您可能感兴趣的文章:
    php中的内存管理的介绍
    PHP内存管理函数 memory_get_usage()使用介绍
    memory_get_usage获取当前PHP内存消耗量的例子
    php-fpm两种进程管理模式详解
    linux下php-fpm开启与关闭方法
    年度最佳【golang】内存分配详解
    php支持哪些数据库?
    php多线程之管道通信的例子
    PHP ini_set的用法介绍
    php利用session进行登录验证

    [关闭]
    ~ ~