0

作为减少应用程序内存负载的努力的一部分,我们收集了一份 hprof 报告。该报告包括以下内容:

          实时分配的堆栈类百分比
 rank self accum bytes objs bytes objs 跟踪名称
    1 9.42% 9.42% 57414792 219 57414792 219 373093 字节[]
    2 6.45% 15.87% 39328800 300 39328800 300 367689 字节[]
    8 1.74% 30.92% 10618776 81 39328800 300 367958 字节[]

对应的痕迹是:

跟踪 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 回答