首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java中外部工具的内存使用情况

问java中外部工具的内存使用情况
EN

Stack Overflow用户
提问于 2015-06-11 12:22:53
回答 2查看 111关注 0票数 2

我有一些可执行的工具。在我的Java应用程序中,我需要启动它们几百次,并根据不同的输入测量它们的内存消耗。我正在使用

代码语言:javascript
复制
Runtime.getRuntime().exec(externalToolCommand);

执行外部工具。但是我不知道如何测量外部工具的最大内存使用率。为了更清楚,我将举例说明;假设我有prism.exe、mrmc.exe和plasma.exe,它们是三个可执行的外部工具。我想知道当我启动某个工具时,比如prism.exe,它消耗了多少内存。我不需要测量Java应用程序的内存消耗。我只需要知道外部内存的消耗。谢谢。

EN

回答 2

Stack Overflow用户

发布于 2015-06-11 13:08:32

我不知道确切的代码,但这是我能想到的。在Windows上,您可以从Java应用程序启动批处理脚本 p.bat ,并从p.bat启动powershell脚本q.ps1,现在您就可以访问powershell脚本了。你可以运行一个进程监控工具(我不知道可能是perfmon...)要测量它的一次内存消耗,请将其记录在文本文件中。从脚本中终止该进程。在Java应用程序中循环执行整个过程。最后,您得到了包含n次进程内存消耗的文件。

但是要当心!这是非常昂贵的,因为它涉及文件I/O,来回切换上下文,在顶部流水线。

有了powershell,可能性是无限的。但我不是powershell专家,所以对不起,我不能为你写确切的代码。这个答案需要你在涉及的各个步骤上进行大量的研究。

票数 0
EN

Stack Overflow用户

发布于 2015-06-11 12:53:01

试试"jvisualvm",你可以在/bin/jviewalvm.exe找到它。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30771537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档