我有一個應用程序,它在Mac OS X上使用this jdbc-driver將一些數據(80k元組中的大約15mb)寫入SQLite數據庫。這是使用事務完成的,事務處理最大包含大約45k插入到一個表中。當分析應用程序,幾件事情似乎很奇怪:解釋VisualVM概要分析會話的結果
- 如果我在暫停使用
System.in.read()
開始申請權,在處理中分配的內存不斷增長緩慢。這是爲什麼? - 當應用程序運行時,VisualVM監視器中使用的堆空間總是在80mb左右。但是,在分析內存使用情況時,我總共獲得了大約10mb。任何人都可以解釋這種差異?
感謝您的幫助。
無論是否分析,應用程序都會遇到內存不足錯誤,因此我認爲高堆使用率是正確的。 – 2010-05-11 17:03:21
好的,下一步是進行堆轉儲並解釋結果。您可以使用VisualVM或JConsole進行此操作。使用Eclipse MAT或HPjmeter打開生成的堆轉儲文件,並查看保存在內存中的內容。 – 2010-05-11 17:10:20
請回答我的問題在http://stackoverflow.com/questions/20112666/how-to-interpret-profiling-results – J888 2013-11-29 00:52:49