2011-06-23 5 views
2

私はWebLogic上にAES 256ビット解読を行う弾き語りの城を利用したWebサービスを配備しています。これはメモリリークを引き起こしています。私が持っているいくつかのログは次のとおりです。Javaメモリリークweblogic AES弾き語りの城

--------- Detailed Heap Statistics: --------- 
26.9% 429099k 13731188 +429099k java/util/LinkedHashMap$Entry 
16.2% 258003k 2969579 +258003k [C 
11.0% 175144k 3202651 +175144k java/security/Provider$Service 
10.7% 170955k 7294115 +170955k java/util/Hashtable$Entry 
9.5% 152003k 6485501 +152003k java/security/Provider$ServiceKey 
8.3% 132945k 61545 +132945k [Ljava/util/HashMap$Entry; 
4.6% 72660k 3100166 +72660k java/lang/String 
3.1% 49413k 20140 +49413k [Ljava/util/Hashtable$Entry; 
3.0% 47766k 1504343 +47766k [Ljava/lang/Object; 
2.2% 34712k 1481059 +34712k java/util/ArrayList 
0.6% 10035k 29012 +10035k [B 
    1593352kB total --- 

--------- End of Detailed Heap Statistics --- 

これは十分な情報ではありません。申し訳ありません。誰でもこのメモリリークが起こっているのですか?私は特にjava/security/Provider $ ServiceKeyへのメモリリークに興味があります。 ありがとうございます。

+0

「このメモリリークが起こっているのは誰ですか?リークがあると推測しましたか?メモリ消費の巨大な塊!=メモリリーク。 –

+0

メモリ消費量が増え続けているからです。ログはガベージコレクションの後にあります。 – mujeeb

+2

それは何も意味しません。マイナーまたはメジャーコレクションが実行されるまで、メモリー消費量は増加する可能性があります。重要なことは、あなたが保持してはならないオブジェクトを保持しているかどうかです。それはリークです。 GCサイクル後のログには何が表示されますか?エデンのスペースはあまり使われておらず、テナント世代はますます多くのスペースを占めていることを示していますか? –

答えて

1

違いがあれば静的にプロバイダをインストールしてみてください。

プロバイダを静的にインストールするには、使用しているJRE/JDKの$JAVA_HOME/jre/lib/security/java.securityフォルダにあるjava.securityファイルにエントリとして追加する必要があります。ファイル内の行のリストを探します。security.provider.Xここで、Xは数字です。リストの一番下に、次の行を追加してください。

security.provider.N=org.bouncycastle.jce.provider.BouncyCastleProvider