PHP memory_get_usage 和 memory_get_peak_usage区别

WBOY
Lepaskan: 2016-06-23 14:30:23
asal
3282 orang telah melayarinya

在使用linux命令 ps 或 top 命令查看进程时, 能看到内存消耗的百分比和大小, 此处的大小是与 memory_get_peak_usage  相一致的

而方法memory_get_usage 是指当前脚本正在使用的内存

参考 http://us2.php.net/manual/en/function.memory-get-peak-usage.php

 

一个是系统分配的内存, 另外一个是内存当前使用的内存, 举例说明:

1, 数据库读出来千万条数据,假如说需要消耗100MB,那么系统会分配给进程 100MB

2, 当处理完数据后 unset 掉, 其实当前进程的消耗的内存并不会变小, 即不会释放100MB空间

3, 内存被分划为, "已使用" 和 "空闲", unset 只会把 "已使用" 变为 "空闲", 下次内存请求时会先去"空闲"里取

4, 程序结束, GC 才会释放全部内存

 

unset后可以让 memory_get_peak_usage 不继续升高, 程序执行被分配的内存(进程里的内存)仍然要以 memory_get_peak_usage  为准

 

更多

a) 另外可以参考 标题:深入探讨PHP中的内存管理问题 了解更多PHP内存管理

b) PDO statement->execute() 时就已经将结果集放在内在里了。

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan