如何提高Runtime.getRuntime().totalMemory() 你分配了最大允许内存,但JAVA不一定直接使用那么多哦!也许当前就是60M呢,随着程序的运行,应该会逐步增加的maxMemory(); 你运行看看,是不是有用! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我晕,我测试的结果 public static void main(String[] args) { System.out.println(Runtime.getRuntime().totalMemory()); System.out.println(Runtime.getRuntime().maxMemory()); }JVM 参数 -Xms256m -Xmx256m运行结果266403840266403840竟然是全部的分配的内存!!!! maxMemory() == 1g,这个显示的是正常的usedMemory: 61.63 MB totalMemory: 84.50 MB maxMemory: 986.12 MB 这是目前我机器的情况我关心的是,usedMemory不短的达到totalMemory,然后是否会进行频繁GC?totalMemory比maxMemory小这么多是否正常?能不能totalMemory和maxMemory一样? 你那个 -J-Xmx1024m 是啥啊?我还真没注意,标准JVM参数是没有-J的 啊,我是resin的启动脚本,直接贴过来了,实际和-Xmx1024m 是一样的,-J是resin启动脚本传递给JVM的参数.你是否方便测试一下你的tomcat或者resin在使用过程中,totalMemory和maxMemory是否是一样的? 晕,我的windows系统下和linux下的都是totalMemory和maxMemory不相等.谢谢帮忙测试,结贴事我会算好分的 :) 我的也是不相等的:totalMemory: 4194304maxMemory: 1072914432老紫竹的两个相等的原因是这两个参数相等-Xms256m -Xmx256m,可以使这改为-Xms64m -Xmx256m应当就不会相等了。totalMemory表示当前jvm正在占用的内存有多大,而maxMemory表示jvm最大可占用的内存有多大,所以一般maxMemory会大于totalMemory,如果两者很接近,怎应用程序的性能可能会比较差因为垃圾回收的缘故 楼上,问题是我设置了-Xms1024m -Xmx1024m现在的情况是,resin刚启动 totalMemory和 maxMemory是相等的但是totalMemory会自己不断的减少程序运行2,3天后,就变成了:usedMemory: 61.63 MB totalMemory: 84.50 MB maxMemory: 986.12 MB totalMemory和maxMemory的差距变得很大但程序跑的仍然很好,我没开gc日志,不知道这种情况是否正常,为什么totalMemory会自己变少.PS:我程序目前用得内存是比较小. 不知道resin刚启动totalMemory和maxMemory是多大?都是1G吗? 对,刚启动的时候都是1g,两者是相等的但运行一会totalMemory就开始逐渐减少了. 你先把这个-Xms1024m调低到-Xms256m再试试看 不能运行。。。。。。。。 java数据库编程求助 Hibernate_exception ssh项目如何实现页面打印税务发票????? 急!!!Struts2 Action的疑问 【在线等】Tomcat服务器线程满宕机问题 关于SQLSERVER中日期转换问题 EJB问题!! 关于打包部署到weblogic8的问题 EJB的效率问题 weblogic8.1 连接池创建问题 问一个<bean:write>的问题!!
System.out.println(Runtime.getRuntime().totalMemory());
System.out.println(Runtime.getRuntime().maxMemory());
}JVM 参数
-Xms256m -Xmx256m运行结果
266403840
266403840竟然是全部的分配的内存!!!!
totalMemory: 84.50 MB
maxMemory: 986.12 MB 这是目前我机器的情况我关心的是,usedMemory不短的达到totalMemory,然后是否会进行频繁GC?
totalMemory比maxMemory小这么多是否正常?
能不能totalMemory和maxMemory一样?
你是否方便测试一下你的tomcat或者resin在使用过程中,totalMemory和maxMemory是否是一样的?
谢谢帮忙测试,结贴事我会算好分的 :)
totalMemory: 4194304
maxMemory: 1072914432老紫竹的两个相等的原因是这两个参数相等-Xms256m -Xmx256m,可以使这改为-Xms64m -Xmx256m应当就不会相等了。totalMemory表示当前jvm正在占用的内存有多大,而maxMemory表示jvm最大可占用的内存有多大,所以一般maxMemory会大于totalMemory,如果两者很接近,怎应用程序的性能可能会比较差因为垃圾回收的缘故
-Xms1024m -Xmx1024m现在的情况是,resin刚启动 totalMemory和 maxMemory是相等的
但是totalMemory会自己不断的减少
程序运行2,3天后,就变成了:usedMemory: 61.63 MB
totalMemory: 84.50 MB
maxMemory: 986.12 MB
totalMemory和maxMemory的差距变得很大
但程序跑的仍然很好,我没开gc日志,不知道这种情况是否正常,为什么totalMemory会自己变少.
PS:我程序目前用得内存是比较小.
但运行一会totalMemory就开始逐渐减少了.