请教大家一个问题 我用都是ubuntu 12.10 x64位的,安装的eclipse ,jdk 都是64位的 tomcat 7.0.21
(java version "1.7.0_09" Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)),如果我用32位jdk运行项目不会提示错误,但是只要我用64位就提示错误
`Exception in thread "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0"
Exception in thread "http-bio-8877-exec-2"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "http-bio-8877-exec-2"
Exception in thread "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1" ,`
能否帮我看看,谢谢,我都电脑是i7cpu 8g内存
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
改$TOMCAT_HOME/bin下面的catalina.sh,JVM启动参数设定JVM启动参数 -XX:+UseCompressedOoops
开启普通对象指针压缩功能,另外xms和xmx可以设定比你原来32位的时候更大,反正64位不再有那个1.5G的限制了。这样多少会有点缓解。
对自身程序优化也可以同时做一下,多试试看看造成内存溢出的原因是不是总是那一段代码,优化一下,比如不要总是从数据库一次性拖大量东西到内存。
另外之前看到有文章说不止是内存方面,性能上64位JVM比32位也有大约15%的性能差距,没有实际测试过这方面,不敢肯定,不过要改变运行环境,多少还是要各种测试的。