我意识到有很多类似于这个的问题,但是有些答案是过时的,我不确定Java开发人员现在有哪些更好的可用。
我不是试图找到应用程序的问题。我需要以图形方式显示'内存和CPU使用率随着时间的推移。我尝试使用NetBeans附带的JVisualVM Profiler,但该应用程序由4个独立的进程组成,这些进程同时运行并相互通信。
我需要找到平台内存容限(最坏的内存使用情况和平均内存使用率)。 CPU使用率处理器吞吐量余量(包括在空闲任务中花费的时间百分比)。
我已经看到提到听起来很有前景但仅适用于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或任何其他工具来完成此任务。我必须找到一种记录数据并自行处理此信息的方法吗?如果是这样,有没有人有这方面的经验可以给我一些见解?
谢谢