どのように私はプログラム的に私のPermGenスペースの使用状況を見つけるのですか?

StackOverflow https://stackoverflow.com/questions/697336

質問

私は、SunのホットスポットJVM上で動作しているときjava.lang.OutOfMemoryError: PermGen Spaceエラーを診断しようとしている、と私のプログラムは、様々なポイントで使用しているどのくらいのPermGenスペース知っていただきたいと思います。プログラムでこの情報を見つけ出す方法はありますか?

役に立ちましたか?

解決

あなたはこのようなものを使用することができます:

Iterator<MemoryPoolMXBean> iter = ManagementFactory.getMemoryPoolMXBeans().iterator();
while (iter.hasNext())
{
    MemoryPoolMXBean item = iter.next();
    String name = item.getName();
    MemoryType type = item.getType();
    MemoryUsage usage = item.getUsage();
    MemoryUsage peak = item.getPeakUsage();
    MemoryUsage collections = item.getCollectionUsage();
}

これは、あなたのメモリのすべての種類を提供します。あなたは「パーマ世代」タイプに興味を持っています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top