可用内存:我的目标指标。
Java:我的首选工具。
???:使用后者获得前者的好方法。如何从Java程序中检索可用RAM的数量?
回答
这个question有一些很好的信息,你可以找到有用的。
大概就是这个样子,使用Java Native Interface(JNI):
Kernel32 lib = (Kernel32) Native.loadLibrary ("kernel32",Kernel32.class);
Kernel32.MEMORYSTATUS mem = new Kernel32.MEMORYSTATUS();
lib.GetMem(mem);
System.out.println ("Available physical memory " + mem.dwAvailPhys);
这是什么平台? 'Kernel32'当然不是J2SE类。 – 2010-06-11 10:18:02
@Stephen C,你说得对,我已经更新了这篇文章,这是为JNI – 2010-06-11 12:11:52
难而不诉诸非便携式或本机库做。
喜欢的东西
Runtime.getRuntime().freeMemory()
只会返回可用内存给JVM,这可能不一样的全系统可用内存。
本页提供了一个很好的概要。
http://blog.codebeach.com/2008/02/determine-available-memory-in-java.html
我知道,购买JNIWrapper,并已对结果满意两个项目。这两种基于Windows的使用。当我将其嵌入到我们当前的项目中时,我们想知道当用户启动我们的应用程序(WebStart)时有多少免费ram可用,因为有很多难以调查的性能投诉(我们怀疑RAM问题)。 JNIWrapper帮助我们在启动时收集有关免费内存,总计和CPU等的统计信息,因此如果用户组抱怨,我们可以检查我们的统计信息,看他们是否被给予了不好的机器。拯救生命。
由于问题是检索可用内存的大小,而不是“我怎样才能更容易地使用JNI”,你可能想发布一个例子前者如何实现...... – Shog9 2010-06-11 17:47:07
@ shog9。问题是我怎样才能在Java中获得可用的RAM。我提出了我见过的最简单的方法来实现这一点。 – 2010-06-12 01:22:24
你能否提供一个JNIWrapper提供的例子,与Adrian写的对比(这在上下文中似乎有点亮)?我知道这个问题是模糊的(“免费RAM”可能意味着很多事情......),但如果你有特定的事情,你可能会分享它...... – Shog9 2010-06-12 04:33:13
- 1. 检查正在运行的程序中可用RAM的数量
- 2. 如何从Windows命令行检索可用的RAM?
- 3. 在Scala或Java中,如何获取应用程序当前占用的RAM量?
- 4. 如何从JavaScript函数中检索Java变量?
- 5. 如何从Java程序中检索db2命令输出
- 6. 检查WIX安装程序中的RAM
- 7. 测量程序的CPU/RAM使用率
- 8. 如何从SQL中使用java检索会话中的数据
- 9. Android:如何检索从phpliteadmin到android应用程序的数据..?
- 10. Java程序从oracle数据库中检索多个doc文件
- 11. jQuery和JSON从Java Web应用程序中的数据库检索数据?
- 12. 如何从Android的RAM中删除我的应用程序的数据?
- 13. 如何从通用Windows应用程序中检索Rest Api中的数据?
- 14. 如何从我的应用程序在Swift中检索通知
- 15. 从8086的RAM中加载程序
- 16. 如何从应用程序购买应用程序检索数据
- 17. 如何从网站检索数据到iPhone应用程序
- 18. 从我的Android应用程序中的Wordpress中检索数据
- 19. 是否可以从设置应用程序检索数据?
- 20. 从Java应用程序中检索SVN存储库列表
- 21. 从Win32应用程序中检索Java对象(列表)
- 22. 如何在Java程序中调用时从.exe文件检索输出?
- 23. 如何检索纱的日志程序用java
- 24. 如何在java程序中检索catalina.out的路径?
- 25. 如何使用C#从套接字中检索Java数据?
- 26. 如何从我的android应用程序中使用全局变量从mysql中检索用户的登录ID?
- 27. 如何从Java Servlet中的多个表(PostgreSQL)中检索数据?
- 28. 如何从java中的HttpServletRequest中检索原始发布数据
- 29. 如何从数据库检索数据并存储在变量Java中?
- 30. 从Java中的MongoDB检索数组
你为什么开始使用“网络”的标题? – aioobe 2010-06-11 10:01:39
“可用内存”,如“可用于您的程序的内存”或“系统中未分配的内存”? – 2010-06-11 19:36:55