我正在用非常大的数据测试数据结构的性能。
作为临时解决方法(请参见此处),我想将内存写入磁盘。
我想用非常大的数据集进行测试 - 我怎样才能做到这一点,以便当 java VM 内存不足时,它会将其中的一些写入磁盘?
由于我们在这里讨论的是临时修复,如果您需要一些额外的空间,您可以随时增加您的页面文件(大多数 Linux 发行版中的交换文件)
这是来自 Microsoft 的链接:http: //windows.microsoft.com/en-us/windows-vista/change-the-size-of-virtual-memory
Linux: http ://www.cyberciti.biz/faq/linux-add-a-swap-file-howto/
现在让我说这不是一个好的长期修复,但我知道有时开发人员只需要让它工作。如果这是在生产环境中看到的东西,您可能想看看像 Hadoop 这样的工具。它允许您将数据处理分布在多个 JVM 上——一种为您所描述的“大数据”应用程序构建的工具
也许你可以使用流,或者一些缓冲的。我认为这将是测试这种结构的最佳选择。如果您可以使用流从磁盘读取并且不会生成任何其他对象(仅是必要的对象),那么您可以为您的结构拥有所有 jvm 内存。但也许你可以更多地描述你的问题?