我正在尝试理解GC inside JVM和内存分页之间的collaboration。我有一个linux盒子,里面有4GB RAM和分配的1.2GB for JVM。如果我运行一个需要大量内存的应用程序,我想知道内存分页是什么时候发生的,什么时候会出现throws out of memory (内存不足)错误。当一个对象被创建时,它是在堆上创建的,如果它不被使用,它将被垃圾回收;如果它被应用程序使用,它将被激活。
所以我的问题是,操作系统何时开始对JVM进行内存分页,OS分页的活动对象会发生什么情况
而且,如果操作系统分页活动的java对象,它如何确定应该首先分页的对象的优先级?它会对占用大部分
我正在学习linux中的分页概念,大多数时候我发现页面大小是固定的(默认值是4kb)。
当我在互联网上搜索更多时,我发现IBM有一个支持可变大小分页的POWER体系结构。
The POWER7® processor supports mixing 4 KB, 64 KB, and 16 MB page sizes within a single segment.
在这里,我没有得到一件事,这个可变页面大小是否在运行时处理?我的意思是,如果可以随时按需分配可变页面大小??如果是,那怎么可能呢?
如果这不是正确的平台,请将这个问题移到正确的一个上。