我正在用非常大的數據測試數據結構的性能。當RAM用完時寫入磁盤java
作爲臨時解決方法(see here)我想將內存寫入磁盤。
我想用非常大的數據集進行測試 - 我該如何做到這一點,以便當java虛擬機內存不足時將它寫入磁盤?
我正在用非常大的數據測試數據結構的性能。當RAM用完時寫入磁盤java
作爲臨時解決方法(see here)我想將內存寫入磁盤。
我想用非常大的數據集進行測試 - 我該如何做到這一點,以便當java虛擬機內存不足時將它寫入磁盤?
既然我們談到臨時修復在這裏你總是可以增加你的頁面文件,如果你需要一點額外的空間(在大多數Linux發行版的交換文件)
下面是來自微軟的鏈接: 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內存。但是,也許你可以更形容你的問題?
對不起,我很困惑,......你在使用數據庫嗎? – 2013-04-04 00:42:34
不,我正在測試van emde boas樹和其他數據結構,並且一切都在內存中。這仍然是可能的嗎? – CPlayer 2013-04-04 00:45:25
我不認爲你可以告訴JVM在RAM滿了時使用文件。你將不得不編寫自己的數據結構來讀寫文件,可能會緩衝數據。 – 2013-04-04 00:46:35