2014-01-23 57 views

回答

2

你不需要..但它会给JVM一个提示,允许分配多少直接内存。

+0

如果没有设置该选项,Netty最多只能使用64 MB的直接内存? –

+1

您可以通过'PlatformDependent.maxDirectMemory()'获得最大可用直接内存 – trustin

2

这实际上取决于您的应用程序将使用多少直接内存。默认情况下,JVM直接内存的最大可用大小与最大堆大小相同,尽管它在JVM供应商和版本之间有所不同。

io.netty.util.internal.PlatformDependent.maxDirectMemory()以字节为单位返回最大直接内存大小,因此您可能希望将其用于调试目的。实际上,如果您将日志级别io.netty.util.internal.PlatformDependent设置为DEBUG,Netty日志值就是值。

1

我认为在大多数情况下,您不需要设置直接内存大小。 如果您认为用完了直接内存,您应该先看看是否在手动设置之前正确使用了直接内存。检查你是否创建了许多io工作者,并通过创建许多直接缓冲区来重用io工作者。

相关问题