0

アプリケーションのメモリ負荷を減らすための取り組みの一環として、hprofレポートを収集しました。レポートには次のものが含まれます。

          割り当てられたスタッククラスのライブの割合
 ランク自己累積バイトobjsバイトobjsトレース名
    1 9.42%9.42%57414792 219 57414792219373093バイト[]
    2 6.45%15.87%39328800 300 39328800300367689バイト[]
    8 1.74%30.92%10618776 81 39328800300367958バイト[]

対応するトレースは次のとおりです。

トレース373093:
    java.nio.HeapByteBuffer。(HeapByteBuffer.java:39)
    java.nio.ByteBuffer.allocate(ByteBuffer.java:312)
    com.sun.enterprise.web.connector.grizzly.SocketChannelOutputBuffer.realWriteBytes(SocketChannelOutputBuffer.java:153)
    com.sun.enterprise.web.connector.grizzly.SocketChannelOutputBuffer $ NIOOutputStream.write(SocketChannelOutputBuffer.java:240)

トレース367689:
    java.nio.HeapByteBuffer。(HeapByteBuffer.java:39)
    java.nio.ByteBuffer.allocate(ByteBuffer.java:312)
    com.sun.enterprise.web.connector.grizzly.SocketChannelOutputBuffer。(SocketChannelOutputBuffer.java:100)
    com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.initialize(DefaultProcessorTask.java:436)

トレース367958:
    java.nio.HeapByteBuffer。(HeapByteBuffer.java:39)
    java.nio.ByteBuffer.allocate(ByteBuffer.java:312)
    com.sun.enterprise.web.connector.grizzly.SocketChannelOutputBuffer。(SocketChannelOutputBuffer.java:100)
    com.sun.enterprise.web.connector.grizzly.ssl.SSLOutputBuffer。(SSLOutputBuffer.java:59)

グリズリーがなぜそうなのか、誰もが知っています...うーん..お腹がすいた?

ありがとう!

4

1 に答える 1

0

これらのバッファは、チャネルからの読み取り/書き込みに使用されます。読み取りバッファはデフォルトで 8192 バイトです。デフォルトのサイズがその16倍の出力バッファがあります。これらのサイズは必要に応じて調整できますが、一般的に、長年にわたってかなり適切なデフォルト値でした。

于 2011-06-22T02:32:40.943 に答える