Java 使用内存使用信息进行单元测试

Java 使用内存使用信息进行单元测试,java,php,linux,testing,junit,Java,Php,Linux,Testing,Junit,我有一个关于PHP和Java编程的问题。 我将开发一个web应用程序来进行单元测试。 PHP是我将用于web的语言,它将执行exec()函数。 当我阅读时,函数返回执行的输出,好的,我确实需要它。 但这还不够,我还认为如果我能得到在执行过程中使用了多少内存。 web将在Linux本机操作系统(或Ubuntu中提供)的Apache web服务器中运行 这是第二种情况: 如果有一个Java源包含一个程序,该程序在执行过程中需要用户输入,那么我如何通过web服务器执行它,同时传递可能作为用户输入的所有

我有一个关于PHP和Java编程的问题。 我将开发一个web应用程序来进行单元测试。 PHP是我将用于web的语言,它将执行exec()函数。 当我阅读时,函数返回执行的输出,好的,我确实需要它。 但这还不够,我还认为如果我能得到在执行过程中使用了多少内存。 web将在Linux本机操作系统(或Ubuntu中提供)的Apache web服务器中运行

这是第二种情况: 如果有一个Java源包含一个程序,该程序在执行过程中需要用户输入,那么我如何通过web服务器执行它,同时传递可能作为用户输入的所有行

下一个问题是,exec()函数只接受行中的参数。 如果我想要怎么办


因此,如果知道如何做,那么
/usr/bin/time
程序(记录在
time(1)
中)可以返回执行期间使用的内存量:

$ /usr/bin/time echo hello
hello
0.00user 0.00system 0:00.00elapsed ?%CPU (0avgtext+0avgdata 2512maxresident)k
0inputs+0outputs (0major+205minor)pagefaults 0swaps
您可以看到,
echo(1)
程序需要2.5 MB的内存,运行速度非常快。更大的项目将更令人印象深刻:

$ /usr/bin/time jacksum --help
Unknown argument. Use -h for help. Exit.
Command exited with non-zero status 2
0.08user 0.03system 0:00.87elapsed 12%CPU (0avgtext+0avgdata 57456maxresident)k
25608inputs+64outputs (92major+4072minor)pagefaults 0swaps
jacksum
是一个基于Java的程序,所以花了57兆字节才告诉我我把命令行参数搞砸了。更像是这样


您可能还会发现BSD过程帐户系统是值得的。有关更多信息,请参见
lastcomm(1)
sa(8)
dump acct(8)

我不确定您的要求,但PHP有各种分析器可以提供内存消耗。如果您只想知道单元测试的内存使用情况或执行时间,那么PHPUnit将在测试结果之后默认为您提供该信息。