Re: [問題] 取得某個物件佔用的記憶體

看板java作者 (器材派)時間14年前 (2012/02/29 18:53), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《kuro44776 (羽嵐)》之銘言: : 如題 小弟目前正在寫一個大型程式 : 其中須要非常大量的記憶體空間,所以得頻繁的使用IO來處理此問題 : 可是我想知道 我麼做法到底可以節省多少空間 : 因為目前都是拿比較小的資料集去測試 如果拿最大資料集的去跑可能得花一個禮拜 : 所以我得先估算一下記憶體的使用量 直到成功的壓縮到合理的範圍 : 如果跑到4 5天以後才發現記憶體用光那就真的悲劇了= = : 之前有參考板上的一些測量heap space的方法, : 但是不知道為什麼 每次測出來的結果都有很大的差異 : 同樣的程式 可能相差到會有正負0.5倍的 : 所以小弟我想請問 有沒有能直接取得物件佔用的記憶體空間的方法? 除了Java本身提供的API以外,您可以找一下市場上有很多的商用Profiling Tool, 不過都不會很便宜就是了! 一般抓記憶體leak多會先去計算積聚物件的量,希望初步能從量上面來分析可能造成 leak的積聚物件。大部分的leak問題都跟積聚物件有關,例如說Vector的size是否只增加 而不減少之類的。 我也遇過leak是發生在session那邊,原則上跟積聚物件都脫不了關係,或者是value bean 物件。 商用的我是用CA Wily Introscope,非常的強! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.229.63.63
文章代碼(AID): #1FJWEoj1 (java)
文章代碼(AID): #1FJWEoj1 (java)