我可以看到分配的堆大小为 1312MB,使用的堆大小为 1300MB。这是否意味着 JVM 将 12MB 内存写入磁盘?
最佳答案
如果您已经使用了 1312 MB 堆中的 1300 MB,这意味着它将执行 GC 来清理空间。
JVM 不会将任何内容交换到磁盘。这是操作系统的工作,JVM 不知道这是否发生。
顺便说一句:您希望避免交换堆的任何部分,因为 GC 假定内存的随机访问。如果在交换堆时有 GC,机器可能会变得不可用。简而言之,始终使堆足够小,以免发生交换。
关于java - 在这种情况下,java 堆会抖动到磁盘吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35364940/