我有一台 citrix 服务器,多个用户使用多个 java 应用程序。有没有办法减少 jvm 本身的内存占用?
最大堆已经设置得相当低(64MB),作为 permgen(32MB)空间,我们已经到了 jvm 本身使用的内存比应用程序本身多得多的地步(已提交的区域约为 350MB)
我正在寻找一种方法来减少 jvm 内存使用量,或者让所有应用程序在同一个 jvm 中运行,或者以任何其他方式在正在运行的 jvm 之间共享公共页面(如果可能),或者尝试切换到 jvm(如果存在针对此场景进行优化的 jvm)
目前使用 windows 2003 server 和 sun java 虚拟机 1.6
答案1
如果这是一个线程应用程序,如果线程数量很多,控制线程堆栈大小可能也会有帮助?线程堆栈大小由 控制-Xss
。另外,您已经对代码进行了性能分析吗?