XX: MaxDirectMemorySize için varsayılan değer nedir? http://www.docjar.com/html/api/sun/misc/VM.java.htmlXX için varsayılan: MaxDirectMemorySize
itibaren
XX: MaxDirectMemorySize için varsayılan değer nedir? http://www.docjar.com/html/api/sun/misc/VM.java.htmlXX için varsayılan: MaxDirectMemorySize
itibaren
i bakın:
163 // A user-settable upper limit on the maximum amount of allocatable direct
164 // buffer memory. This value may be changed during VM initialization if
165 // "java" is launched with "-XX:MaxDirectMemorySize=<size>".
166 //
167 // The initial value of this field is arbitrary; during JRE initialization
168 // it will be reset to the value specified on the command line, if any,
169 // otherwise to Runtime.getRuntime.maxDirectMemory().
170 //
171 private static long directMemory = 64 * 1024 * 1024;
yüzden 64 MB'lik varsayılan olarak görünür.
Bu - http://docs.oracle.com/cd/E15289_01/doc.40/e15062/optionxx.htm#BABGCFFB - "sınırsız" olduğunu iddia ederek doğrudan çelişir mi? – StaxMan
docs.oracle.com bağlantısı, OpenJDK değil, JRockit belgelerine işaret eder. – technomancy
Açıklama, komut satırında belirtilmemişse değerin, maxDirectMemory() yönteminden alındığını önerir. Bu bağlantıyı burada (http://mail.openjdk.java.net/pipermail/core-libs-dev/2012-January/008884.html) yazım hatası (burada böyle bir yöntem yoktur) maxMemory() için komut satırında ayarladığınız -Xmx'e eşittir. –
sun.misc.VM
'dan, Runtime.getRuntime.maxMemory()
, -Xmx
ile yapılandırılmış olan. Örneğin. Eğer değil yapılandırmak -XX:MaxDirectMemorySize
ve yapılandırmak -Xmx5g
do eğer "varsayılan" MaxDirectMemorySize
da 5 Gb olacak ve toplam yığın + app doğrudan bellek kullanımı 5 + 5 = 10 Gb kadar uzayabilir.
Varsayılanın -Xmx değerini aldığını hatırlıyorum. Bu basit bir testle doğrulanmalıdır. – irreputable
Doğrudan bellek, yığınla ilgili olmayan diğer belirli şeyler için kullanılır. keşiflerimde bulduğumdan, 64 değeri varsayılan değerdir, -1 değeri -Xmx değerine ayarlanır. –