从命令行跟踪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')文件中的code>和命令行中的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
以查看实际使用的内存。我认为此解决方案比我的解决方案更健壮