从命令行跟踪PHP内存使用情况

从命令行跟踪PHP内存使用情况,php,Php,我可以同时使用ini\u集('memory\u limit','512M')和命令行中的php-d memory_limit=512M,但也可以从终端跟踪内存使用情况 我知道我可以在PHP文件中使用memory\u get\u usage(),但是如何从命令行跟踪它呢?试试: $ watch -n 5 'php -r "var_dump(memory_get_usage());"' 这将每5秒观察一次内存状态 或可能是您可以使用“ps”工具: $ ps -F -C php-

我可以同时使用
ini\u集('memory\u limit','512M')和命令行中的
php-d memory_limit=512M
,但也可以从终端跟踪内存使用情况

我知道我可以在PHP文件中使用
memory\u get\u usage()
,但是如何从命令行跟踪它呢?

试试:

$ watch -n 5 'php -r "var_dump(memory_get_usage());"'
这将每5秒观察一次内存状态

可能是您可以使用“ps”工具:

$ ps -F -C php-cgi
输出:

UID        PID  PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
http     10794 10786  0  4073   228   0 Jun09 ?        00:00:00 /usr/bin/php-cgi

RSS是进程的实际内存(常驻集)大小(以KB为单位)。

我用简单输出寻找的解决方案是

watch -n 5 'php -r "echo (string) memory_get_usage(true)/pow(10, 6);"'
将返回PHP进程正在使用的MB数

2.097152

注意:类似于macOS机器上的
ps-F-C php cgi
的解决方案将在以下情况下失败:

ps: illegal option -- F

php-r“var_dump(memory_get_usage());”
@Justinas如果我要添加
watch-n1
我将看到在运行时使用情况如何变化。有没有更好的方法可以找到?
php-r“var_dump(memory_get_usage());”
对您没有帮助,因为它
返回分配给php的内存量。您需要传递
true
以查看实际使用的内存。我认为此解决方案比我的解决方案更健壮