0

出于测试目的,我想知道是否可以传递一个标志java以限制文件的总执行时间和内存使用量.class

动机:假设我自动下载别人的代码并自动运行它,但我不知道代码是否(无意)有错误,如果它陷入无限循环或越来越多地使用内存,我的自动化系统会崩溃到系统的极限。

我在这里读到使用标志-Xmx可以限制内存使用,但我似乎找不到限制运行时间的方法。阅读文档似乎有一种方法可以在执行期间限制 CPU 使用率,但这不是我想要的,如果程序运行时间超过 5 分钟,我希望程序结束(必要时终止)。

我想要的例子:

java -Xmx1m -time5m a_java_program

用于将内存使用限制为 1Mb,时间限制为 5 分钟。

java有这样的东西吗?

4

1 回答 1

2

请注意,Xmx 选项会将内存限制为整个虚拟机,而不是单个类。对于运行时间,除非您拥有完整的源代码并且可以运行分析器,否则您处于相同的情况。如果您能够获得源代码,那就完全不同了。然后,您有几个选项来分析它的运行时间和内存使用情况(请记住,分析器会有一些开销)。例如 Eclipse: http: //www.eclipse.org/tptp/home/documents/tutorials/profilingtool/profilingexample_32.html

于 2015-09-11T17:05:49.270 回答