anj*_*anb 5 java memory heap jvm solaris
我们的产品目前运行在32位1.6 JRE上.我们正在使用Berkeley DB,它占用4 GB地址空间大约2.5 GB的RAM.这为JVM地址空间留下了大约750 MB的内存.
我们目前正在使用当前设置来解决OutOfMemory问题.将JVM堆大小增加到1.5 GB并保留Berkeley DB的2.5 GB空间会很不错.有没有办法在32位JVM中访问超过4 GB的RAM /堆?我正在考虑以下解决方案
1)使用更好的GC的JVM - 这将给我边际结果 - 我可以得到大约50-100 MB的工作内存
2)像memcached或"进程外ehcache" -这可以让我得到尽可能多的硬件允许IPC /序列化的开销.
是否有其他解决方案来增加应用程序的可寻址内存?
该解决方案应该适用于运行sparc的solaris 10.
*更新:由于使用本机共享库,现在,即使操作系统是64位*,我们也无法切换到64位JVM
谢谢,
是否有其他解决方案来增加应用程序的可寻址内存?
而且,每个真正的SPARC(不是古老的SuperSparc或穷人LION)都是64位的.因此,切换到64位版本的操作系统会更容易.我不了解Solaris,但在linux中可以在64位操作系统之上运行32位应用程序.而64位操作系统将允许您运行64位JVM.
更新:Solaris http://wikis.sun.com/display/BigAdmin/Talking+about+RAM+disks+in+the+Solaris+OS中有ramdisks,我认为你应该尝试将它们用于存储数据库(或临时文件) DB).在案例(1)中没有额外的序列化/ IPC; 只有额外的读/写或mmap/munmap.但是Ramdisk的订单比SSD快,比HDD快3-4个订单.
| 归档时间: |
|
| 查看次数: |
2990 次 |
| 最近记录: |