我正在使用非常大的数据测试数据结构性能。
作为临时解决方法(see here)我想将内存写入磁盘。
我想用非常大的数据集进行测试 - 我怎样才能做到这一点,以便当java VM耗尽内存时将其中一部分写入磁盘?
答案 0 :(得分:0)
由于我们在这里谈论临时修复,如果你需要一些额外的空间(大多数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分发数据处理 - 一个为“大数据”应用程序构建的工具,如您所描述的那个
答案 1 :(得分:0)
也许你可以使用流,或者一些缓冲流。我认为这将是测试这种结构的最佳选择。如果您可以使用流从磁盘读取并且不会生成任何其他对象(只有必要的对象),那么您可以为您的结构提供所有jvm内存。但也许你可以更多地描述你的问题?