我已经搜索了答案,但似乎没有人对我的问题有一个确切的答案。我想测量在虚拟机中执行java程序或任何程序时虚拟机的能耗。如果我们能够测量虚拟机中每个核心的能耗,那也很棒。 Java中的哪个插件可用于衡量虚拟机的能耗?
答案 0 :(得分:2)
有几种方法可以衡量虚拟机的能量。
我假设您要测量虚拟机的能量以及正在执行的程序(如果有的话)。 (查找虚拟机的能耗 - 例如JVM - 本身并不包括在其上执行的程序要困难得多。)
有多种方法可以测量JVM的总能量。
在所有情况下,最准确的结果将是几个样本/测试运行的平均值。计算机系统中发生了很多事情,其中大部分是间歇性的,例如垃圾收集,中断处理和支持后台进程的虚拟机。
#1的缺点是需要外部硬件。此外,它还包括所有,例如外围设备,内存等。您需要计算能耗的差异。
#2的缺点是PAPI API只是API,它们的实现是隐藏的。由于支持的处理器硬件事件不断变化,许多PAPI API间接测量事物并且只能给出非常近似的结果。
#3的缺点是PMU事件根据定义依赖于硬件。 PAPI API试图解决此问题。此外,早期的处理器通常没有能量PMU事件。
#4的缺点类似于#2。
祝你好运。* PAPI与Performance Application Programming Interface中一样,而不是Java access control API。
答案 1 :(得分:1)
Java 安全。它可以防止您与真实硬件集成过多。我建议你不要使用Java。您应该使用某种系统语言(例如bash脚本)从硬件中获取元数据,然后将其写入Java可以轻松读取的内容(文件,套接字等)。