【发布时间】:2015-11-09 19:01:04
【问题描述】:
我意识到有很多与此类似的问题,但有些答案已经过时了,我不确定 Java 开发人员现在是否有更好的答案。
我不是要查找应用程序的问题。我需要随着时间的推移“以图形方式”显示内存和 CPU 使用情况。我尝试使用 NetBeans 附带的 JVisualVM Profiler,但该应用程序包含 4 个同时运行并相互通信的独立进程。
我需要找到平台内存余量(最坏情况下的内存使用量和平均内存使用量)。还有 CPU Usage 处理器吞吐量边际(包括空闲任务所花费时间的百分比)。
我看到过一些听起来很有前途但仅适用于 Windows 的工具。我见过看起来像 Java 的代码可以通过编写一些代码给我所需的信息。我在这里看到了很多很好的信息,但我仍然不确定为我的应用程序收集平台性能指标的最佳方法。
所以,冒着听起来好像我没有充分研究这个的风险,我不得不问,因为事实恰恰相反。我研究得越多,我就越困惑。我需要找到最快捷、最简单的方法来收集这些信息,如果您对如何处理此问题提出任何建议,我将不胜感激。
其他信息:
大多数性能工具都旨在帮助人们发现应用程序中的内存泄漏和 CPU 使用情况。我正在尝试寻找一种工具,可以在我的应用程序运行时帮助我找到三件事:
1) Memoey Usge - platform memory margin:
- Worst case memory usage
- Average memory usage
2) CPU Usage - processor throughput margin
- Usage = 100% - (%of time spent in idle task)
- % time in idle task = (average period of background task with no load)*100% / (average period of background task with some load)
3) Availability - fraction of time the platform and application are available for use (related to mean time between failures)
也许这不是一项艰巨的任务,但我不知道如何使用 VisualVM 或任何其他工具来做到这一点。我必须找到一种方法来记录数据并自己处理这些信息吗?如果是这样,有没有人有这方面的经验可以给我一些见解?
谢谢
【问题讨论】:
标签: java performance netbeans cpu-usage metrics