2 回答

TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊
您的問(wèn)題可能出在toGb
方法上。在 Java 中,整數(shù)除法是截?cái)唷_@意味著如果您打算通過(guò)方法 (500*1024*1024) 返回 500 MB 并打算將其作為整數(shù)千兆字節(jié)值返回,則除以 (1024*1024*1024),這將始終返回 0。您可以通過(guò)嘗試返回一個(gè)浮點(diǎn)值(例如 double 或 float)來(lái)解決這個(gè)問(wèn)題。
或者,memoryDirect
如果沒(méi)有池名稱等于“直接”,則您的變量可能從未設(shè)置過(guò)。在這種情況下,memoryDict 也將始終為 0。

TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個(gè)贊
我必須為XX:MaxDirectMemorySize
值編寫一個(gè)自定義解析器,基本上檢查 G/M/K/none(B) 中指定的值是否并相應(yīng)地進(jìn)行轉(zhuǎn)換。
并且為了在本地測(cè)試創(chuàng)建setenv.bat
文件,您可以在其中指定自定義參數(shù) - feset "CATALINA_OPTS=%CATALINA_OPTS% XX:MaxDirectMemorySize=100M"
它會(huì)得到 100M 做的事情。
并確保在 VM Arguments 中手動(dòng)添加此變量 Window > Show View > Servers > (chosen server) > Open launch configuration > (x)= Arguments
在頂部的控制臺(tái)中,您應(yīng)該能夠找到XX:MaxDirectMemorySize
Catalina 設(shè)置的參數(shù):
添加回答
舉報(bào)