哪一个表示java应用程序的确切内存使用

哪一个表示java应用程序的确切内存使用,java,memory-management,memory-leaks,Java,Memory Management,Memory Leaks,我有一个java应用程序。现在的问题是,我使用jmap获取了一个堆,并且在我的应用程序中运行了这些代码。它们都给了我不同的值。运行时显示的内存不足256mb,这是我分配的初始内存和最大内存?我想检测是否存在任何内存泄漏,但运行时是波动的,而堆中的内存一直在少量增加?有什么帮助吗 long memory = runtime.totalMemory() - runtime.freeMemory(); System.out.println("\n\nUsed memory is bytes: " +

我有一个java应用程序。现在的问题是,我使用jmap获取了一个堆,并且在我的应用程序中运行了这些代码。它们都给了我不同的值。运行时显示的内存不足
256mb
,这是我分配的初始内存和最大内存?我想检测是否存在任何内存泄漏,但运行时是波动的,而堆中的内存一直在少量增加?有什么帮助吗

long memory = runtime.totalMemory() - runtime.freeMemory();
System.out.println("\n\nUsed memory is bytes: " + memory);

//Print the jvm heap size.
long heapSize = runtime.totalMemory();
System.out.println("\n\nHeap Size = " + heapSize);

int mb = 1024*1024;
System.out.println("##### Heap utilization statistics [MB] #####");

//Print used memory
System.out.println("Used Memory:" + (runtime.totalMemory() - runtime.freeMemory()) / mb);

//Print free memory
System.out.println("Free Memory:" + runtime.freeMemory() / mb);

//Print total available memory
System.out.println("Total Memory:" + runtime.totalMemory() / mb);

//Print Maximum available memory
System.out.println("Max Memory:" + runtime.maxMemory() / mb);

我建议使用来监视内存使用情况等。

我建议使用来监视内存使用情况等。

或者,您可以尝试使用Netbeans profiler。您可以使用netbeans profiler评测web/独立应用程序

我们正在取消netbeans探查器在应用程序中的评测功能。用于分析java应用程序的好工具

看看吧


您也可以尝试使用Netbeans profiler。您可以使用netbeans profiler评测web/独立应用程序

我们正在取消netbeans探查器在应用程序中的评测功能。用于分析java应用程序的好工具

看看吧


我在使用它时遇到问题。我尝试了多种方法链接到远程应用程序,但都失败了,这就是我恢复使用所有这些机制的原因。你看过有关连接到远程应用程序的Visual VM教程了吗?我在使用它时遇到了问题。我尝试了很多方法来链接到我的远程应用程序,但都失败了,这就是为什么我恢复使用所有这些机制的原因。你看过关于连接到远程应用程序的Visual VM教程了吗?出于服务器的安全考虑,我是否可以不使用“允许任何权限”之类的东西。我不能使用jmap实例进行分析吗?您对此有何评论?您需要在服务器上执行sh文件的权限。因此,只有您可以使用NetBeans pro文件管理器。并且需要通过netbeans IDE打开一个端口来配置文件绑定。我还必须在上面安装什么?如何为评测绑定端口它与Visual VM类似吗?我没有运行此处所述的任何服务器,我的服务器只是一个套接字应用程序。不需要安装其他任何东西。我从没试过VisualVM。使用netbeans profiler,我可以预测内存、cpu使用率、执行方法的延迟等等。。。出于服务器的安全考虑,我是否可以不使用“允许任何权限”之类的东西。我不能使用jmap实例进行分析吗?您对此有何评论?您需要在服务器上执行sh文件的权限。因此,只有您可以使用NetBeans pro文件管理器。并且需要通过netbeans IDE打开一个端口来配置文件绑定。我还必须在上面安装什么?如何为评测绑定端口它与Visual VM类似吗?我没有运行此处所述的任何服务器,我的服务器只是一个套接字应用程序。不需要安装其他任何东西。我从没试过VisualVM。使用netbeans profiler,我可以预测内存、cpu使用率、执行方法的延迟等等。。。