我在BlueJ运行了几个Java程序。我希望能够知道程序对给定输入值使用多少内存。有什么办法可以做到这一点?如何查找程序使用的内存量?
回答
1),以获得您的Java应用程序可以使用Runtime的最大内存量:多少内存JVM已经分配给您的应用程序
Runtime runtime = Runtime.getRuntime();
System.out.println("max memory: " + runtime.maxMemory()/1024);
2)获得:
Runtime runtime = Runtime.getRuntime();
System.out.println("allocated memory: " + runtime.totalMemory()/1024);
3)获得您的应用程序正在使用多少内存:
Runtime runtime = Runtime.getRuntime();
System.out.println("free memory: " + runtime.freeMemory()/1024);
这只适用于通过Java分配的内存 –
对于第一个答案Nod不好。为了您未来的答案:适当地格式化代码(用四个空格缩进),并且可能链接到相关文档 –
它可能是operating system特定;值得注意的是JVM管理Java分配的内存,但您可能使用JNI(也就是您的Java程序调用OpenCV函数)使用JNI调用C++中的外部函数,并且您可能对当前的process的virtual address space感兴趣。在Linux上,您可以使用proc(5)并阅读并解析/proc/self/statm
或/proc/self/stat
或/proc/self/status
。如果你的进程有pid 1234,你也可以在另一个终端上尝试cat /proc/1234/maps
,或者使用pmap(1)。在其他操作系统上,您需要深入了解相应的文档。
如果您只关心JVM直接使用的内存,请使用Runtime class作为answered by Hans。
顺便说一句,你的JVM有一个garbage collector,所以定义确切的内存使用量不是微不足道的。
- 1. 查找和使用现有程序中的内存偏移量?
- 2. 如何查找内存进食程序
- 3. 如何查找“胖”程序的内存使用情况?
- 4. 如何查找Haskell中程序的内存使用情况
- 5. 如何找出使用的内存量
- 6. 如何查找NSString使用的内存?
- 7. 如何查找的内存量在RAM中使用的Java
- 8. 如何查找Java应用程序中的内存泄漏?
- 9. 查找程序中分配的内存?
- 10. 如何降低我的应用程序的内存使用量?
- 11. 如何使用valgrind查找Android应用程序的内存泄漏
- 12. 如何在WPF应用程序中查找内存泄漏
- 13. 如何在Phonegap应用程序中查找内存泄漏
- 14. 如何在android中查找特定进程使用的内存?
- 15. 如何测量java应用程序的使用内存?
- 16. 如何获得的内存应用程序使用量
- 17. 如何减少WPF应用程序的内存使用量
- 18. 如何减少Socket应用程序的C#内存使用量
- 19. 如何找出为什么rails应用程序使用大量内存?
- 20. 如何让我的程序的最大内存使用量OSX
- 21. 如何在Android应用程序中使用LeakCanary查找内存泄漏?
- 22. 如何检查Pthread程序中使用的内核数量?
- 23. 如何为使用Robotium的应用程序自动分配内存(查找内存泄漏)
- 24. VS2010 - 如何查看程序的内存使用情况?
- 25. 如何在当前程序状态下查找最大可分配内存量
- 26. 无法使用内存搜索程序查找给定值
- 27. 程序如何分配大量内存?
- 28. 如何通过python程序减少CPU和内存使用量?
- 29. 如何查找使用大多数内存进行排序的查询
- 30. 如何在DDMS中查找android应用程序的CPU和内存利用率?
你的问题可能与BlueJ无关。您可以使用其他IDE(或Java编译器)。所以我想你需要删除'bluej'标签 –