【求助】linux 64位 运行java程序,占用虚拟内存极高

[复制链接]
查看11 | 回复3 | 2021-1-27 06:03:25 | 显示全部楼层 |阅读模式
运行top命令后:


以下是目前碰到的问题总结:
1.使用系统自带OpenJDK7启动jar(使用命令java-jarxxx.jar),启动初始虚拟内存(VIRT)占用就有35.5G+
当启动的jar个数增至18个左右时,便无法再启动新的jar。
终端会显示资源不足,并生成类似如附件(hs_err_pid17427)的错误文件
2.尝试替换为OracleJDK8,问题依旧(如附件图)
3.尝试在启动jar时指定java的heapsize(使用命令java-jarxxx.jav-xms256-xmx1024)
不会生成hs_err的错误文件,而是直接无法启动更多的jar
4.在32位Linux上测试,启动时虚拟内存为22xxM
5.安装jemalloc3.6.0并在启动脚本中追加
exportLD_PRELOAD=/usr/local/lib/libjemalloc.so
后启动jar,在32位系统下,初始VIRT值减少700M左右,为15xxM,在64位系统下,初始VIRT减少4G不到,为32.5G左右
6.尝试在启动脚本中追加
exportMALLOC_ARENA_MAX=4
效果和5差不多,依然很大。
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:03:25 | 显示全部楼层
兄弟,额也遇到了同样的问题:64位linux,64位JDK1.5,利用top发现VIRT达到34g,而整个系统的RAM=6G,硬盘空间=15G,SWAP=6G。
求分享经验
回复

使用道具 举报

千问 | 2021-1-27 06:03:25 | 显示全部楼层
尝试了各种参数设置,总是无效
回复

使用道具 举报

千问 | 2021-1-27 06:03:25 | 显示全部楼层
同样求解呀!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行