PHP使用内存使用信息执行单元测试

时间:2011-10-22 08:47:14

标签: java php linux testing junit

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

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

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

所以,如果有任何想法如何做到这一点?

1 个答案:

答案 0 :(得分:1)

/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兆字节的内存并且运行得非常快。更大的节目将更令人印象深刻:

$ /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)