php查询内存信息操作示例

这篇文章主要介绍了php查询内存信息操作,涉及php使用memory_get_usage()函数及memory_get_peak_usage()函数获取系统内存信息相关操作技巧,需要的朋友可以参考下。

本文实例讲述了php查询内存信息操作。分享给大家供大家参考,具体如下:

php查询内存信息,是为了更好的查看内存使用情况,更好的优化代码。

查看当前内存使用情况使用:memory_get_usage()函数。

查看内存使用峰值:memory_get_peak_usage()函数。

  1. <?php
  2. header("Content-Type:text/html;charset=utf-8");
  3. /**
  4. * 格式化字节大小
  5. * @param number $size 字节数
  6. * @param string $delimiter 数字和单位分隔符
  7. * @return string 格式化后的带单位的大小
  8. */
  9. function format_bytes($size, $delimiter = '') {
  10. $units = array('B', 'KB', 'MB', 'GB', 'TB', 'PB');
  11. for ($i = 0; $size >= 1024 && $i < 5; $i++) $size /= 1024;
  12. return round($size, 2) . $delimiter ."&nbsp;".$units[$i];
  13. }
  14. echo "内存初始状态:".format_bytes(memory_get_usage());
  15. echo "<hr/>";
  16. echo "开始使用内存<br/>";
  17. //使用内存
  18. for($i = 0;$i < 100000;$i++){
  19. $array[] = md5($i);
  20. }
  21. echo "内存状态:".format_bytes(memory_get_usage())."<br/>";
  22. echo "删除一半的内存<br/>";
  23. //删除一半的内存
  24. for($i = 0;$i < 100000;$i++){
  25. unset($array[$i]);
  26. }
  27. echo "最终内存状态:".format_bytes(memory_get_usage());
  28. echo "<hr/>";
  29. echo "内存峰值状态:".format_bytes(memory_get_peak_usage());

执行结果:

内存初始状态:65.27 KB

--------------------------------------------------------------------------------

开始使用内存

内存状态:12.01 MB

删除一半的内存

最终内存状态:577.52 KB

--------------------------------------------------------------------------------

内存峰值状态:12.01 MB