2014-01-23 88 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工作者。

相關問題