【发布时间】:2016-09-23 17:17:34
【问题描述】:
我们能否为 Java 进程提供比系统上的物理内存更多的堆内存。
示例。 系统有 8 GB 内存。 操作系统消耗比方说 2 GB 内存 我们启动 Java process1 并分配 4 gb ram 我们启动Java process2并分配4 gb ram
如果 ram 中的空间不可用,则 Java 进程使用硬盘缓存以编程方式将未使用的部分保存在内存中。
【问题讨论】:
-
会非常慢
-
目前对我来说,如果它很慢也没关系...可以做到吗?
-
它被称为“交换”,它一直是操作系统的标准功能。
-
我刚刚尝试从 dll 中“新建”非托管内存区域并写入 2x 1G 浮点数组,一旦 8GB 达到 HDD 使用率就达到 %100 并且鼠标+任务监视器冻结直到我很难重置。
-
JVM 就像任何其他程序一样,所以是的,因为内存分配由您的操作系统管理并且您的操作系统可以交换