任务管理器两个java进程_java监视和管理控制台(jconsole)显示项目进程的内存为什么和windows任务管理器不一样?...

自己在网上找到了想要的答案:

jvm不会把已经申请的内存还给OS, 因为很可能马上又要分配给新的对象,每次向 OS 申请内存是很慢的。

所以管理控制台显示的内存使用情况和windows任务管理器中的不一样。

jvm中有两个参数 MaxHeapFreeRatio, MinHeapFreeRatio 可以收缩堆,还内存给OS, 但只在client 模式下有效,而且是分次返还,0% on the first call, 10% on the second call, 40%, on the third call, and 100% by the fourth call.

例如:

java -client -verbose -XX:+PrintGC -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xmx100m -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=30

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值