2011-06-07 53 views
7

在我們的應用程序中,我們允許用戶通過Excel工作表上傳/下載數據,並使用Apache POI讀取和寫入這些Excel表單。
我們計劃將我們所有的xls表單遷移到xlsx,但在過程中知道通過Apache POI的XSSF(對於xlsx)的內存佔用量非常高。Java應用程序的內存佔用量

因此,我們想對此進行壓力測試,並驗證轉移到xlsx不會給我們頻繁的OutOfMemory異常。 任何指針,我們如何能夠有效地記錄內存佔用,而我們強調用更大的Excel(xlsx)文件測試此功能。

謝謝!

+0

可能重複[此線程](http://stackoverflow.com/questions/756873/best-way-to-profile-memory-usage-in-a-java-application)。很多推薦的輪廓儀都在該線程中提及。 – 2011-06-07 15:30:12

回答

5

一個簡單的方法是使用諸如jconsolejvisualvm(隨JVM附帶)的工具手動監視內存消耗。

您還可以定期使用runtime API來測量內存消耗。

4

正如@Johan提到的,你可以使用一個分析器或利用的方法maxMemory,totalMemory,freeMemoryRuntime的某種組合。如果這些結果表明內存佔用量確實存在問題,那麼Apache POI確實爲XSSF提供了佔用空間更小的another option。這很難使用,所以我不建議使用它,除非你的分析結果表明你必須這樣做,但它可能有幫助。

相關問題