在linux环境下,通过top命令查看java进程的占用内存大小,一般都是看res(进程常驻内存)值,该值包含了整个java进程占用的内存,包括本地内存和堆内存,所以想问一下,如果jvm发生gc,jvm heap会回收一部分内存,这时候,res的值是否也会跟着变化?
在linux环境下,通过top命令查看java进程的占用内存大小,一般都是看res(进程常驻内存)值,该值包含了整个java进程占用的内存,包括本地内存和堆内存,所以想问一下,如果jvm发生gc,jvm heap会回收一部分内存,这时候,res的值是否也会跟着变化?
7 回答5.6k 阅读
8 回答6.5k 阅读
4 回答4.2k 阅读
4 回答694 阅读✓ 已解决
2 回答3.4k 阅读
2 回答967 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
目前的 JVM 尚无返还内存资源给操作系统的做法,因此即使 JVM 执行了 GC,也并未释放内存给操作系统。但不必担心 Java 会将全部内存吃掉,因为长期来看,只要 Java 程序中不存在内存泄漏的 BUG,那么 JVM 的内存用量是必然存在上限的,长期运行也不会超过上限。