1

我正在使用 xdebug 跟踪一些代码以查看它使用了多少内存,但在跟踪开始时,它使用了大约560224字节的内存。这是正常的吗?这是在执行任何代码之前。

编辑: 我应该澄清一下;这不是我要优化的。我只是注意到它并想要一个解释。

4

1 回答 1

2
# php -r 'var_dump(memory_get_usage());'
int(75880)
# php -r 'var_dump(memory_get_usage());'
int(75880)
# php -r 'var_dump(memory_get_usage());'
int(75880)

这里有两件有趣的事情:一个简单的“脚本”在命令行上占用了 76k,而且它一直在这样做。

# php -r 'var_dump(memory_get_usage()); echo "";'
int(76016)
# php -r 'var_dump(memory_get_usage()); echo ""; echo "";'
int(76160)

添加代码会增加内存使用。毫不奇怪——解析后的代码必须去某个地方。

所以:您看到的内存使用是您的所有代码,以及在开始时构建的任何其他内容。请记住,当您的第一行代码运行时,PHP 已经解析了很多,如果不是全部代码的话。(任何动态包含或自动加载都可能导致稍后发生某些解析)

总的来说,尝试减少这种情况可能是徒劳的,尽管您可能希望避免任何不必要的包含。无论如何,这只是一个好主意。

于 2010-01-22T03:06:11.977 回答