Re: [問題] 取得某個物件佔用的記憶體
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):