2013-04-17 18 views
8

'un amacı nedir? Bu seçeneklerin amacını bana söyleyin. Gittikten sonra sanırım: MinHeapFreeRatio, "GC" ve MaxHeapFreeRatio öğesinin söyledikten sonra, belirtilen minimum alan yüzdesinin, yığın bellekte serbest bırakılmasını sağlar "ifadesi, bir GC'den sonra yığın belleğinde belirtilen alanın yüzdesinden daha fazla olmayacaktır. "[belirtilen bellekten fazla boş bellek varsa, bu bellek OS'ye döndürülür]-XX: MinHeapFreeRatio ve -XX: MaxHeapFreeRatio

Bu seçenekleri her ikisi için de 10 değeriyle denediğimde, ücretsiz yığın belleğinin yüzde 80'inden fazlasının olduğu yerlerde bile, işletim sistemine geri bırakılmadı.

Detayları: Java HotSpot (TM) 64-bit sunucu VM (1.5.0_15-b04, karışık mod) (Aksi sunucu sınıfı VM varsayılan koleksiyoncusu üretilen iş toplayıcı olarak da bilinir) ParallelGC i belirtilen -Xms50M ve jvm argümanları olarak -Xmx1000M OS: Windows 7 profesyonel (8 GB bellek 64 bit işletim sistemi)

Not: Sadece SerialGC ile denedim, bu min ve maksimum yığın serbest oran seçenekleri göz ardı edildi. Java çok nadiren belleği işletim sistemine geri gönderir.

+0

Sanırım bir dizi yüzde ayarlıyor, değil mi? her ikisi de 10 değerine ayarlanmamalı, ama "MinHeapFreeRatio = 10" ve "MaxHeapFreeRatio = 90" gibi değerlere ayarlanmalı, umarım doğru anladım. –

cevap

2

Genel olarak, uygulamalar daha az değil, zaman içinde daha fazla bellek kullanır. Hafıza bu kadar sınırlı olduğundan emin misin? Her zamanki durumda hafızada bulunan hafızayı kontrol edeceğiniz sanal hafıza büyüklüğünü 1.2 GB alacağınızdan emin misiniz?

+1

evet peter VisualVM kullanarak bellek kullanımını kontrol ettim. Ve ben ParallelGC bu seçenekleri göz ardı edeceğini düşünüyorum, sadece "duraklama süresi" ve "iş çıkışı" hedeflerine dayalı olarak genç ve eski nesiller dinamik olarak yeniden boyutlandırır. https://blogs.oracle.com/jonthecollector/entry/it_s_not_magic –

İlgili konular