GarbageCollector

  • Konuyu Başlatan Konuyu Başlatan Fix3d
  • Başlangıç tarihi Başlangıç tarihi
  • Görüntüleme 1.007
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Fix3d

Bir Kömür Göründü Kaptanım!
Katılım
29 Ocak 2015
Mesajlar
148
Elmaslar
17
Puan
0
Yaş
30
Arkadaşlar bu javanın garbagecollector diye bir sistemi varmış. Java bilen arkadaşlar bilir galiba. Bende bu aralar java araştırırken denk geldim. Bu gc yi düzenli periyotta çalıştırmak pluginlere zarar veririmi? Nasıl ve ne zaman uygulanmalıdır? Uygulanmasını önerirmisiniz?
 
Arkadaşlar bu javanın garbagecollector diye bir sistemi varmış. Java bilen arkadaşlar bilir galiba. Bende bu aralar java araştırırken denk geldim. Bu gc yi düzenli periyotta çalıştırmak pluginlere zarar veririmi? Nasıl ve ne zaman uygulanmalıdır? Uygulanmasını önerirmisiniz?
Java Bilgim yok ama zarar vermezdir heralde
 
Java bilgisi olan ve bana bilgi vermek isteyen arkadaşların yorumuna açığım :D[DOUBLEPOST=1493917686,1493816086][/DOUBLEPOST]Konu perte çıkıcak. Yokmu yardım edecek javacı? En azından
Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.

Çevirebilirmisiniz?
 
Java bilgisi olan ve bana bilgi vermek isteyen arkadaşların yorumuna açığım :D[DOUBLEPOST=1493917686,1493816086][/DOUBLEPOST]Konu perte çıkıcak. Yokmu yardım edecek javacı? En azından
Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.

Çevirebilirmisiniz?
O sayfadaki paragrafı çevirebilene helal olsun. Hem bizim çevirimizde o kadar iyi olmayabilir. Sana önerim google çeviriden yararlanman.
 
O sayfadaki paragrafı çevirebilene helal olsun. Hem bizim çevirimizde o kadar iyi olmayabilir. Sana önerim google çeviriden yararlanman.
Peki çeviriyi es geçtim :D Ben bi yolunu bulurum çevirme işinin artık. Peki GC hakkında bilgisi olan javacı yokmu ya. O kadar javacı var forumda.
 
çeviriyom pekle :Dçevirdiğim zaman bi rep alırım[DOUBLEPOST=1493998042,1493997957][/DOUBLEPOST]bildikerim:gc çöp toplayıcıdır pluginlerin artıklarını vs. siler bunlar gereksiz dosyalardır gc yi açmak gapamak pluginlere zarar vermez ram kullanımını bi nebze azaldır
 
çeviriyom pekle :Dçevirdiğim zaman bi rep alırım[DOUBLEPOST=1493998042,1493997957][/DOUBLEPOST]bildikerim:gc çöp toplayıcıdır pluginlerin artıklarını vs. siler bunlar gereksiz dosyalardır gc yi açmak gapamak pluginlere zarar vermez ram kullanımını bi nebze azaldır
Kullanımınıda öğrenseydim iyiydi neyse teşekkürler.
 
Java TM 2 Platform, Standard Edition (J2SE TM platformu) giriş için çok çeşitli küçük uygulamaları masaüstü uygulamalardan büyük sunucularda web hizmetleri için kullanılır. J2SE platformu sürüm 1.4.2 dört çöp toplayıcıları aralarından seçim yapabileceğiniz ama kullanıcı seri çöp toplayıcı tarafından açık bir seçim olmadan vardı her zaman cho yapıldı. Sürüm 5.0 toplayıcı seçtiğiniz uygulama başlatıldı makine sınıf üzerinde bağlıdır. Çöp toplayıcı bu "akıllı seçim" satın cipro daha iyi ama her zaman en iyi değil. Çöp toplayıcıları kendi seçim yapmak isteyen kullanıcı için bu belge bu seçimi temel alacağı hakkında bilgi sağlar. Bu ilk çöp koleksiyon ve bu özellikleri en iyi yararlanmak için ayarlama seçenekleri genel özelliklerini içerir. Örnek seri, dünya durdurmak toplayıcı bağlamında verilmiştir. O zaman diğer koleksiyonerler belirli özellikleri ne zaman olarak gereken faktörleri ile birlikte ele alınacak choos, diğer koleksiyonerler biri. Ne zaman bir çöp toplayıcı seçimi kullanıcıya fark eder mi? Birçok uygulama için öyle değil. Diğer bir deyişle, uygulama teknik mütevazı sıklığı ve süresi ile duraklar çöp toplama huzurunda içinde gerçekleştirebilirsiniz. Bir örnek bu durum böyle değil nerede (seri kolektör kullanıldığında) ölçekler büyük bir uygulama çok sayıda konu, işlemciler, yuva ve büyük miktarda bellek için iyi olurdu. Amdahl'ın unobservedtaskexceptioneventargs.observed çoğu iş yüklerini mükemmel parallelized olamaz; bir bölümü her zaman ardışık değil ve parallelism en büyük ölçüde yarar değil. Bu da J2SE platformu için doğrudur. Çok parti, sanal makineler için Java TM platform ilâ ve dahil olmak üzere sürüm 1.3.1 paralel atık toplama var mı, çöp toplama birden çok işlemcili bir sistemde etkisini aksi takdirde paralel bir uygulama göreli olarak büyür.

Grafik aşağıda çöp toplama dışında tamamen ölçeklenebilir ideal bir sistem modelleri. Kırmızı çizgi çöp toplama bir tek işlemcili sistemde zamanında sadece % 1'i harcama bir uygulamadır. Bu bir % 20 için çevirir 32 işlemci sistemlerde üretilen iş kaybı. Çöp toplama (çöp toplama tek işlemcili uygulamalarında zamanında çok çirkin bir miktarı kabul edilmez) zamanında yüzde 10'u, işlem hacmi % 75'den fazla ilâ 32 işlemci ölçekleme kaybolur. Bu küçük sistemlerde geliştirme asıl performans sorunlarını büyük sistemlere ölçeklerken olabilir zaman ihmal edilebilir hız sorunları gösterir. Ancak, böyle bir darboğaz azaltılmasında küçük iyileştirmeler performansında büyük kazançlar üretebilir. Yeterince büyük bir sistem için doğru çöp toplayıcı seçmek için ve gerekirse ayarlamak için de faydalı olur. Seri toplayıcı uygulamaların çoğu için yeterli olacaktır. Her diğer koleksiyonerler bazı ek yükü ve/veya özel davranış için fiyat olan karmaşıklık eklemiş. Uygulama alternatif bir toplayıcı özel davranışını ihtiyacı yok, seri toplayıcı kullanın. Ağır dişli ve büyük miktarda bellek ve işlemciler çok sayıda donanım üzerinde çalışan büyük bir uygulama nerede seri toplayıcı olmak belgili tanımlık en iyi seçme için beklenen bir durum örneğidir. Bu tür uygulamalar için şimdi üretilen iş toplayıcı seçim yapmak (ergonomi bölümünde 2 konuya bakın).

Bu belge J2SE platformu sürüm 1.5, Solaris TM işletim sisteminde kullanarak yazılmıştır ( SPARC (R ) Platform Edition) temel platformu olarak en ölçeklenebilir donanım ve yazılım için J2SE platformu sağlar çünkü. Ancak, açıklayıcı metin Linux, Microsoft Windows ve Solaris işletim sistemi de dahil olmak üzere diğer desteklenen platformlar için geçerlidir ( x 86 platformu Edition ), ölçüde bu ölçeklenebilir donanım mevcuttur. Komut satırı seçenekleri platformlar arasında tutarlı olmasına rağmen bazı platformlar Varsayılanları burada açıklanandan farklı olabilir. Yeni sürüm 1.5 J2SE platformu ergonomi burada ergonomi olarak anılacaktır bir özelliktir. Komut satırı Tuning en az ile JVM iyi performans sağlamak için ergonomi hedefidir. Ergonomi çöp toplayıcı yığın boyutu çalışma zamanı derleyici bir uygulama için en iyi seçim eşleştirmeyi dener. Bu seçim sınıf uygulamanın üzerinde çalıştığı makinenin uygulama (büyük makinelerde çalıştırmak Yani, büyük uygulamalar) özellikleri konusunda bir ipucu olduğunu varsayar. Bu seçimler yanı sıra çöp toplama ayarlama basitleştirilmiş bir yoludur. Üretilen iş toplayıcıyı kullanıcı hedefleri en zaman ve bir uygulama için istenen işlem hacmi duraklatmak belirtebilirsiniz. Bu iyi bir performans için gerekli öbek boyutunu belirtme aksine. Bu özellikle büyük kümeler kullanmak büyük uygulamaların performansını artırmak için tasarlanmıştır. Daha genel ergonomi "ergonomi içinde için 1.5 Java sanal makinesi" başlıklı belgede açıklanmıştır. Bu önce daha ayrıntılı denetimlerini kullanarak bu belgede açıklandığı gibi bu ikinci belgede sunulan ergonomi yargılanmak önerilir. Üretilen iş toplayıcı altında bu belgedeki dahil, yeni edinilmiş boyutu ilkesinin parçası olarak sağlanan ergonomi özellikleri vardır. Bu gol için çöp toplama performansını belirtmek için yeni seçenekler içerir ve performans ince ayar yapmak için ek seçenekler ayarlamak

Nesiller bir J2SE platformu bellek ayırma ve çöp toplama karmaşıklığı geliştiricinin kalkanlar gücüdür. Ancak, çöp toplama asıl performans sorunu olduğunda, bu gizli uygulama bazı yönlerini anlamak değer öyle. Çöp toplayıcıları yolu uygulamaları hakkında varsayımlar nesneleri kullanın yapmak ve bu performansı artırmak için soyutlama gücünü ödün vermeden ayarlanabilir tunable parametre yansıtılır. Çalışan programın herhangi bir tanıtıcısından artık ulaşılabilir bir nesneyi çöp kabul edilir. En basit çöp toplama algoritmaları sadece erişilebilir her nesnenin üzerinde yineleme. Sol herhangi bir nesne üzerinde sonra çöp olarak kabul edilir. Bu yaklaşım süresini büyük miktarda canlı veri bakımı büyük uygulamalar için engelleyici olduğu canlı nesnelerinin sayısı ile doğru orantılıdır. J2SE platformu sürüm 1.2 ile başlayan, sanal makine birkaç kuşak koleksiyonu kullanılarak birleştirilir farklı çöp toplama algoritmaları dahil. Saf çöp toplama öbek canlı her nesne incelerken, kuşak koleksiyonu fazladan iş önlemek için uygulamaların çoğu birkaç ampirik olarak gözlenen özellikleri patlatır. Gözlenen bu özelliklerin en önemli bebek ölüm var. Mavi aşağıdaki diyagrama yaşam süreleri için tipik bir dağıtım nesneleri alanındadır. X ekseni ayrılan bayt cinsinden ölçülen nesnenin yaşam süreleri var. Bayt sayısı Y ekseninde nesnelerinde karşılık gelen yaşam süresi ile toplam bayt'tır. Sola keskin zirvesinde rejenere nesneleri gösterir (örneğin, "kısa bir süre sonra ayrılan öldü"). Yineleyici nesneleri, örneğin, tek bir döngü süresince hayatta çoğu kez.

Bazı nesneler daha uzun yaşamak ve bu yüzden dağıtım uzanır için sağ. Örneğin, genellikle işlem çıkar kadar canlı başlatma sırasında ayrılan bazı nesneler vardır. Bu iki büyük arasında görülen bazı ara hesaplama süresi için canlı nesnelerdir burada bebek ölüm tepe sağındaki götürü olarak. Bazı uygulamalar çok farklı görünümlü dağıtımları var, ama şaşırtıcı derecede çok sayıda sahip bu genel şekli. Gerçeği bir çoğunluğu "genç öl" obje üzerinde odaklanarak verimli toplama mümkün olmaktadır. Bu senaryo için en iyi duruma getirmek için bellek nesiller veya nesneleri farklı yaş tutan bellek havuzları yönetilir. Atık toplama işlemi gerçekleştiğinde her nesil nesil ne zaman doldurur. Nesneleri küçük nesneler için bir nesil ya da genç nesil ayrılır ve bebek ölüm nedeniyle nesnelerin çoğu orada ölmek. Genç nesil dolduğu zaman küçük bir koleksiyon neden olur. Küçük koleksiyonları yüksek bebek ölüm oranı varsayarak optimize edilebilir. Bu koleksiyon, ilk sipariş, canlı nesneler toplanmakta sayısıyla doğru orantılı maliyetlerdir. Ölü nesnelerin tam bir genç nesil çok hızlı bir şekilde toplanır. Hayatta kalan bazı nesneler tenured nesile taşınır. Tenured üretimi alınması gereken zaman çoğu zaman büyük bir koleksiyonu şurada daha yavaş çünkü tüm canlı nesneleri içerir. Aşağıdaki diyagrama aralıklarla yetecek kadar çok koleksiyonları arasında ölmek için nesnelerin izin vermek için meydana gelen küçük koleksiyon gösterir. Genç nesil kadar büyük anlamda (ve böylece küçük koleksiyonları yeterince arasındaki dönemi) iyi ayarlanmış küçük toplama yüksek bebek ölüm oranı avantajlarından yararlanabilir. Bu durum alışılmadık ömür boyu dağıtımları ile uygulamalar tarafından veya koleksiyon nesneleri zaman ölmek zorunda önce gerçekleşmesi neden kötü boy nesiller tarafından rahatsız edebilirler

İçinde belirtildiği gibi Bölüm 2 ergonomi nows çeşitli uygulamalar üzerinde iyi bir performans sunmak için farklı çöp toplayıcı seçimdir. Seri çöp toplayıcı küçük uygulamalar tarafından kullanılması amaçlanmıştır. Varsayılan parametrelerinin çoğu küçük uygulamalar için etkili olması için dizayn edilmiştir. Üretilen iş Çöp toplayıcı büyük uygulamalar tarafından kullanılması amaçlanmıştır. Ergonomi artı adaptif boyutu ilkesinin özelliklerini seçili yığın boyutu parametreleri sunucu uygulamaları için iyi bir performans sağlamak içindir. Bu seçimler de birçok uygulama için iş ama her zaman işe yaramaz. Bu Bu Belge Merkezi öğreti yol açar:
Çöp toplayıcı bir darboğaz haline gelmiştir üretimi boyutları özelleştirmek isteyebilirsiniz. Ayrıntılı çöp toplayıcı çıktısını denetleyin ve çöp toplayıcı parametreleri için duyarlılıgı, bireysel performans ölçüm için Keşfet/dene.

Varsayılan düzenleme (için tüm toplayıcılar üretilen iş toplayıcı hariç) nesillerin aşağıdakine benzer. Başlatma sırasında bir en fazla adres alanı neredeyse ayrılmıştır ancak gerekli olduğu sürece için fiziksel bellek ayrılmamış. Tam adres alanı için nesne bellek ayrılmış genç ve tenured nesiller ayrılabilir. Genç nesil eden ve iki kurtulan boşluk karakterlerinden oluşur. Nesneleri başlangıçta eden tahsis edilmiştir. Bir kurtulan boşluk her zaman boştur ve herhangi bir canlı nesneler topluluğu eden ve hayatta kalan alanı kopyalama ileri, bir hedef olarak hizmet vermektedir. Nesneler arasında hayatta kalan alanlarda tenured veya kopyalanan tenured üretimi için olacak yaşta onlar kadar bu şekilde kopyalanır. Diğer sanal makinelerin, üretim sanal makine J2SE platformu sürüm 1.2 için Solaris işletim sistemi için de dahil olmak üzere iki eşit büyüklükte alanlarda bir büyük eden artı iki küçük alanlarda yerine kopyalamak için kullanılır. Bu genç nesil boyutlandırma seçeneklerini doğrudan karşılaştırılabilir değildir anlamına gelir; bir örnek için performans SSS sayfasına bakın. Tenured üretimi ile yakından ilgili bir üçüncü nesil kalıcı olduğunu. Çünkü bir denklik Java dil düzeyinde var mı nesneleri açıklamak için sanal makine tarafından gerekli verileri tutan kalıcı üretimi özeldir. Örneğin sınıfları ve yöntemleri açıklayan nesneleri kalıcı nesilde depolanır.

3.1 performans değerlendirmeleri
orada çöp toplama performans iki birincil önlemlerdir. Üretilen iş çöp toplama, uzun bir süre kabul değil harcanan toplam süre yüzdesidir. Üretilen iş tahsisini harcanan süre içerir (ancak ayırma hızı için ayarlama genellikle gerekli değildir.) Duraklar çöp toplama meydana gelen çünkü ne zaman bir uygulama yanıt vermiyor görünür zamanlardır. Kullanıcılar atık toplama işleminin farklı gereksinimleri vardır. Örneğin, bazı çöp toplama sırasında duraklar tolere edilebilir ya da sade bir şekilde ağ gecikmeleri tarafından gizlenmiş olabilir bu yana üretilen iş, olmak bir web sunucusu doğru ölçüsünü düşünün. Ancak, bir etkileşimli grafik programında bile kısa duraklamalar olumsuz kullanıcı deneyimini etkileyebilir. Bazı kullanıcılar için diğer konuları duyarlıdır. Ayak izi sayfaları ve önbellek satırları ölçülen bir işlem çalışma kümesidir. Sınırlı fiziksel bellek veya birçok süreçleri ile sistemlerde, ayak izi ölçeklenebilirlik gerektirebilir. Çabukluk bir nesne ölü olduğu arasında geçen zamanı ve bellek kullanılabilir duruma geldiğinde, sistemleri, uzaktan yöntem çağırma (RMI) dahil olmak üzere önemli bir göz için dağıtılmıştır. Genel olarak, belirli üretimi boyutlandırma bir ticaret-off bu noktalar arasında seçer. Örneğin, çok büyük bir genç nesil performansı en üst düzeye ama çok yer kaplayan, çabukluk ve duraklama kez pahasına yapar. genç nesil duraklar küçük bir genç nesil üretilen iş pahasına kullanılarak en aza indirilebilir. Bir ilk yaklaşım, başka bir nesil için duraklama süreleri ve koleksiyonu sıklığı bir nesil boyutlandırma etkilemez. İşte boyutu nesillere kimse doğru yolu yoktur. En iyi seçim yolu uygulama kullanır bellek yanı sıra kullanıcı gereksinimleri belirlenir. Bu nedenle sanal makine seçimi bir çöp collectior her zaman en iyi durumda değilse ve kullanıcı komut satırı seçenekleri, aşağıda açıklanan şeklinde geçersiz kılınmış olabilir.

3.2 Öçme/Ölçüm
İşlem hacmi ve ayak izi en iyi ölçümleri özellikle uygulama kullanılarak ölçülür. Örneğin, bir web sunucusu-den geçerek ayak izi sunucu pmap komutunu kullanarak Solaris işletim sisteminde ölçülen bir istemci yük jeneratör kullanarak test edilebilir. Öte yandan, duraklar çöp toplama nedeniyle kolayca sanal makine tanılama çıktısını inceleyerek tahmin edilir. Komut satırı bağımsız değişkeni-verbose: gc her koleksiyon bilgileri yazdırır. Unutmayın biçimi - verbose: gc çıktıdır sürümler J2SE platformu arasında değişebilir. Örneğin, işte bir büyük sunucu uygulama çıktısı:
[GC 325407K->83000K(776768K), 0.2300771 saniye]
[GC 325816K->83372K(776768K), 0.2454258 saniye]
[Full GC 267628K->83769K(776768K), 1.8479984 saniye]

Burada iki küçük koleksiyon ve bir büyük bir bakın. Sayıları daha önce ve sonra okuyun {demiş}

325407K->83000K (ilk çizgide iken )

canlı nesneler Birleşik boyutunu önce ve çöp toplama sonra sırasıyla gösterir. Sonra küçük koleksiyonları sayısı mutlaka hayatta değil, ancak doğrudan hayatta oldukları için veya çünkü onlar içinde veya tenured(annamadım) nesilden başvurulan kazanılamıyor nesneleri içerir.
(776768K)(ilk çizgide iken)

Toplam kullanılabilir alan, alan eksi bir kurtulan mekanların toplam öbek kalıcı nesil saymazsak. Küçük toplama bir ikinci çeyrek hakkında aldı.
0.2300771 saniye"ler" (ilk çizgide iken )


Üçüncü satır büyük koleksiyon için benzer biçimidir. bayragı[kodu] -XX:+PrintGCDetails koleksiyonlarıyla ilgili ek bilgileri yazdırır. Bu bayrak ile yazdırılan ek bilgi sanal makineyi her sürümü ile değiştirmek sorumludur. Ek çıktı ile -XX:+PrintGCDetails bayrak özellikle geliştirme Java Virtual Machine ihtiyaçları ile değiştirir. İle çıktısı örneği -XX:+PrintGCDetails J2SE platformu için sürüm 1.5 seri çöp toplayıcı kullanarak burada gösterilir

[GC [DefNew: 64575K->959K(64576K), 0.0457646 secs] 196016K->133633K(261184K), 0.0459067 secs]]

küçük koleksiyonu genç nesil yaklaşık % 98'i yeniden elde etmek gösterir,

DefNew: 64575K->959K(64576K)
ve yaklaşık 46 milisaniye aldı.
0.0457646 secs [45.7646 ms]
Tüm yığın kullanımı yaklaşık % 51 düşürüldü
196016K->133633K(261184K)
ve son kez tarafından belirtildiği gibi hafif bazı ek yükü (üzerine genç nesil Topluluğu) koleksiyonu için oldu:
0.0459067 secs
bayrak[kod] -XX:+PrintGCTimeStamps Buna ek olarak bir zaman damgası her koleksiyonu başında yazdırılır.

111.042: [GC 111.042: [DefNew: 8128K->8128K(8128K), 0.0000505 secs]111.042: [Tenured: 18154K->2311K(24576K), 0.1290354 secs] 26282K->2311K(32704K), 0.1293306 secs]

Koleksiyon 111 saniye içine uygulama yürütme başlar. Küçük collection hakkında aynı anda başlar. Ayrıca bilgi Tenured tarafından belirlenen büyük koleksiyonu için gösterilir. Tenured üretimi kullanımı için yaklaşık % 10 azaldı
18154K->2311K(24576K)
ve.13 saniye sürdü.
0.1290354 secs

[SUANA KADAR BU KADAR ÇEVİRDİM SUAN
Sizing the Generations
ı çeviriyom]
 
Java TM 2 Platform, Standard Edition (J2SE TM platformu) giriş için çok çeşitli küçük uygulamaları masaüstü uygulamalardan büyük sunucularda web hizmetleri için kullanılır. J2SE platformu sürüm 1.4.2 dört çöp toplayıcıları aralarından seçim yapabileceğiniz ama kullanıcı seri çöp toplayıcı tarafından açık bir seçim olmadan vardı her zaman cho yapıldı. Sürüm 5.0 toplayıcı seçtiğiniz uygulama başlatıldı makine sınıf üzerinde bağlıdır. Çöp toplayıcı bu "akıllı seçim" satın cipro daha iyi ama her zaman en iyi değil. Çöp toplayıcıları kendi seçim yapmak isteyen kullanıcı için bu belge bu seçimi temel alacağı hakkında bilgi sağlar. Bu ilk çöp koleksiyon ve bu özellikleri en iyi yararlanmak için ayarlama seçenekleri genel özelliklerini içerir. Örnek seri, dünya durdurmak toplayıcı bağlamında verilmiştir. O zaman diğer koleksiyonerler belirli özellikleri ne zaman olarak gereken faktörleri ile birlikte ele alınacak choos, diğer koleksiyonerler biri. Ne zaman bir çöp toplayıcı seçimi kullanıcıya fark eder mi? Birçok uygulama için öyle değil. Diğer bir deyişle, uygulama teknik mütevazı sıklığı ve süresi ile duraklar çöp toplama huzurunda içinde gerçekleştirebilirsiniz. Bir örnek bu durum böyle değil nerede (seri kolektör kullanıldığında) ölçekler büyük bir uygulama çok sayıda konu, işlemciler, yuva ve büyük miktarda bellek için iyi olurdu. Amdahl'ın unobservedtaskexceptioneventargs.observed çoğu iş yüklerini mükemmel parallelized olamaz; bir bölümü her zaman ardışık değil ve parallelism en büyük ölçüde yarar değil. Bu da J2SE platformu için doğrudur. Çok parti, sanal makineler için Java TM platform ilâ ve dahil olmak üzere sürüm 1.3.1 paralel atık toplama var mı, çöp toplama birden çok işlemcili bir sistemde etkisini aksi takdirde paralel bir uygulama göreli olarak büyür.

Grafik aşağıda çöp toplama dışında tamamen ölçeklenebilir ideal bir sistem modelleri. Kırmızı çizgi çöp toplama bir tek işlemcili sistemde zamanında sadece % 1'i harcama bir uygulamadır. Bu bir % 20 için çevirir 32 işlemci sistemlerde üretilen iş kaybı. Çöp toplama (çöp toplama tek işlemcili uygulamalarında zamanında çok çirkin bir miktarı kabul edilmez) zamanında yüzde 10'u, işlem hacmi % 75'den fazla ilâ 32 işlemci ölçekleme kaybolur. Bu küçük sistemlerde geliştirme asıl performans sorunlarını büyük sistemlere ölçeklerken olabilir zaman ihmal edilebilir hız sorunları gösterir. Ancak, böyle bir darboğaz azaltılmasında küçük iyileştirmeler performansında büyük kazançlar üretebilir. Yeterince büyük bir sistem için doğru çöp toplayıcı seçmek için ve gerekirse ayarlamak için de faydalı olur. Seri toplayıcı uygulamaların çoğu için yeterli olacaktır. Her diğer koleksiyonerler bazı ek yükü ve/veya özel davranış için fiyat olan karmaşıklık eklemiş. Uygulama alternatif bir toplayıcı özel davranışını ihtiyacı yok, seri toplayıcı kullanın. Ağır dişli ve büyük miktarda bellek ve işlemciler çok sayıda donanım üzerinde çalışan büyük bir uygulama nerede seri toplayıcı olmak belgili tanımlık en iyi seçme için beklenen bir durum örneğidir. Bu tür uygulamalar için şimdi üretilen iş toplayıcı seçim yapmak (ergonomi bölümünde 2 konuya bakın).

Bu belge J2SE platformu sürüm 1.5, Solaris TM işletim sisteminde kullanarak yazılmıştır ( SPARC (R ) Platform Edition) temel platformu olarak en ölçeklenebilir donanım ve yazılım için J2SE platformu sağlar çünkü. Ancak, açıklayıcı metin Linux, Microsoft Windows ve Solaris işletim sistemi de dahil olmak üzere diğer desteklenen platformlar için geçerlidir ( x 86 platformu Edition ), ölçüde bu ölçeklenebilir donanım mevcuttur. Komut satırı seçenekleri platformlar arasında tutarlı olmasına rağmen bazı platformlar Varsayılanları burada açıklanandan farklı olabilir. Yeni sürüm 1.5 J2SE platformu ergonomi burada ergonomi olarak anılacaktır bir özelliktir. Komut satırı Tuning en az ile JVM iyi performans sağlamak için ergonomi hedefidir. Ergonomi çöp toplayıcı yığın boyutu çalışma zamanı derleyici bir uygulama için en iyi seçim eşleştirmeyi dener. Bu seçim sınıf uygulamanın üzerinde çalıştığı makinenin uygulama (büyük makinelerde çalıştırmak Yani, büyük uygulamalar) özellikleri konusunda bir ipucu olduğunu varsayar. Bu seçimler yanı sıra çöp toplama ayarlama basitleştirilmiş bir yoludur. Üretilen iş toplayıcıyı kullanıcı hedefleri en zaman ve bir uygulama için istenen işlem hacmi duraklatmak belirtebilirsiniz. Bu iyi bir performans için gerekli öbek boyutunu belirtme aksine. Bu özellikle büyük kümeler kullanmak büyük uygulamaların performansını artırmak için tasarlanmıştır. Daha genel ergonomi "ergonomi içinde için 1.5 Java sanal makinesi" başlıklı belgede açıklanmıştır. Bu önce daha ayrıntılı denetimlerini kullanarak bu belgede açıklandığı gibi bu ikinci belgede sunulan ergonomi yargılanmak önerilir. Üretilen iş toplayıcı altında bu belgedeki dahil, yeni edinilmiş boyutu ilkesinin parçası olarak sağlanan ergonomi özellikleri vardır. Bu gol için çöp toplama performansını belirtmek için yeni seçenekler içerir ve performans ince ayar yapmak için ek seçenekler ayarlamak

Nesiller bir J2SE platformu bellek ayırma ve çöp toplama karmaşıklığı geliştiricinin kalkanlar gücüdür. Ancak, çöp toplama asıl performans sorunu olduğunda, bu gizli uygulama bazı yönlerini anlamak değer öyle. Çöp toplayıcıları yolu uygulamaları hakkında varsayımlar nesneleri kullanın yapmak ve bu performansı artırmak için soyutlama gücünü ödün vermeden ayarlanabilir tunable parametre yansıtılır. Çalışan programın herhangi bir tanıtıcısından artık ulaşılabilir bir nesneyi çöp kabul edilir. En basit çöp toplama algoritmaları sadece erişilebilir her nesnenin üzerinde yineleme. Sol herhangi bir nesne üzerinde sonra çöp olarak kabul edilir. Bu yaklaşım süresini büyük miktarda canlı veri bakımı büyük uygulamalar için engelleyici olduğu canlı nesnelerinin sayısı ile doğru orantılıdır. J2SE platformu sürüm 1.2 ile başlayan, sanal makine birkaç kuşak koleksiyonu kullanılarak birleştirilir farklı çöp toplama algoritmaları dahil. Saf çöp toplama öbek canlı her nesne incelerken, kuşak koleksiyonu fazladan iş önlemek için uygulamaların çoğu birkaç ampirik olarak gözlenen özellikleri patlatır. Gözlenen bu özelliklerin en önemli bebek ölüm var. Mavi aşağıdaki diyagrama yaşam süreleri için tipik bir dağıtım nesneleri alanındadır. X ekseni ayrılan bayt cinsinden ölçülen nesnenin yaşam süreleri var. Bayt sayısı Y ekseninde nesnelerinde karşılık gelen yaşam süresi ile toplam bayt'tır. Sola keskin zirvesinde rejenere nesneleri gösterir (örneğin, "kısa bir süre sonra ayrılan öldü"). Yineleyici nesneleri, örneğin, tek bir döngü süresince hayatta çoğu kez.

Bazı nesneler daha uzun yaşamak ve bu yüzden dağıtım uzanır için sağ. Örneğin, genellikle işlem çıkar kadar canlı başlatma sırasında ayrılan bazı nesneler vardır. Bu iki büyük arasında görülen bazı ara hesaplama süresi için canlı nesnelerdir burada bebek ölüm tepe sağındaki götürü olarak. Bazı uygulamalar çok farklı görünümlü dağıtımları var, ama şaşırtıcı derecede çok sayıda sahip bu genel şekli. Gerçeği bir çoğunluğu "genç öl" obje üzerinde odaklanarak verimli toplama mümkün olmaktadır. Bu senaryo için en iyi duruma getirmek için bellek nesiller veya nesneleri farklı yaş tutan bellek havuzları yönetilir. Atık toplama işlemi gerçekleştiğinde her nesil nesil ne zaman doldurur. Nesneleri küçük nesneler için bir nesil ya da genç nesil ayrılır ve bebek ölüm nedeniyle nesnelerin çoğu orada ölmek. Genç nesil dolduğu zaman küçük bir koleksiyon neden olur. Küçük koleksiyonları yüksek bebek ölüm oranı varsayarak optimize edilebilir. Bu koleksiyon, ilk sipariş, canlı nesneler toplanmakta sayısıyla doğru orantılı maliyetlerdir. Ölü nesnelerin tam bir genç nesil çok hızlı bir şekilde toplanır. Hayatta kalan bazı nesneler tenured nesile taşınır. Tenured üretimi alınması gereken zaman çoğu zaman büyük bir koleksiyonu şurada daha yavaş çünkü tüm canlı nesneleri içerir. Aşağıdaki diyagrama aralıklarla yetecek kadar çok koleksiyonları arasında ölmek için nesnelerin izin vermek için meydana gelen küçük koleksiyon gösterir. Genç nesil kadar büyük anlamda (ve böylece küçük koleksiyonları yeterince arasındaki dönemi) iyi ayarlanmış küçük toplama yüksek bebek ölüm oranı avantajlarından yararlanabilir. Bu durum alışılmadık ömür boyu dağıtımları ile uygulamalar tarafından veya koleksiyon nesneleri zaman ölmek zorunda önce gerçekleşmesi neden kötü boy nesiller tarafından rahatsız edebilirler

İçinde belirtildiği gibi Bölüm 2 ergonomi nows çeşitli uygulamalar üzerinde iyi bir performans sunmak için farklı çöp toplayıcı seçimdir. Seri çöp toplayıcı küçük uygulamalar tarafından kullanılması amaçlanmıştır. Varsayılan parametrelerinin çoğu küçük uygulamalar için etkili olması için dizayn edilmiştir. Üretilen iş Çöp toplayıcı büyük uygulamalar tarafından kullanılması amaçlanmıştır. Ergonomi artı adaptif boyutu ilkesinin özelliklerini seçili yığın boyutu parametreleri sunucu uygulamaları için iyi bir performans sağlamak içindir. Bu seçimler de birçok uygulama için iş ama her zaman işe yaramaz. Bu Bu Belge Merkezi öğreti yol açar:
Çöp toplayıcı bir darboğaz haline gelmiştir üretimi boyutları özelleştirmek isteyebilirsiniz. Ayrıntılı çöp toplayıcı çıktısını denetleyin ve çöp toplayıcı parametreleri için duyarlılıgı, bireysel performans ölçüm için Keşfet/dene.

Varsayılan düzenleme (için tüm toplayıcılar üretilen iş toplayıcı hariç) nesillerin aşağıdakine benzer. Başlatma sırasında bir en fazla adres alanı neredeyse ayrılmıştır ancak gerekli olduğu sürece için fiziksel bellek ayrılmamış. Tam adres alanı için nesne bellek ayrılmış genç ve tenured nesiller ayrılabilir. Genç nesil eden ve iki kurtulan boşluk karakterlerinden oluşur. Nesneleri başlangıçta eden tahsis edilmiştir. Bir kurtulan boşluk her zaman boştur ve herhangi bir canlı nesneler topluluğu eden ve hayatta kalan alanı kopyalama ileri, bir hedef olarak hizmet vermektedir. Nesneler arasında hayatta kalan alanlarda tenured veya kopyalanan tenured üretimi için olacak yaşta onlar kadar bu şekilde kopyalanır. Diğer sanal makinelerin, üretim sanal makine J2SE platformu sürüm 1.2 için Solaris işletim sistemi için de dahil olmak üzere iki eşit büyüklükte alanlarda bir büyük eden artı iki küçük alanlarda yerine kopyalamak için kullanılır. Bu genç nesil boyutlandırma seçeneklerini doğrudan karşılaştırılabilir değildir anlamına gelir; bir örnek için performans SSS sayfasına bakın. Tenured üretimi ile yakından ilgili bir üçüncü nesil kalıcı olduğunu. Çünkü bir denklik Java dil düzeyinde var mı nesneleri açıklamak için sanal makine tarafından gerekli verileri tutan kalıcı üretimi özeldir. Örneğin sınıfları ve yöntemleri açıklayan nesneleri kalıcı nesilde depolanır.

3.1 performans değerlendirmeleri
orada çöp toplama performans iki birincil önlemlerdir. Üretilen iş çöp toplama, uzun bir süre kabul değil harcanan toplam süre yüzdesidir. Üretilen iş tahsisini harcanan süre içerir (ancak ayırma hızı için ayarlama genellikle gerekli değildir.) Duraklar çöp toplama meydana gelen çünkü ne zaman bir uygulama yanıt vermiyor görünür zamanlardır. Kullanıcılar atık toplama işleminin farklı gereksinimleri vardır. Örneğin, bazı çöp toplama sırasında duraklar tolere edilebilir ya da sade bir şekilde ağ gecikmeleri tarafından gizlenmiş olabilir bu yana üretilen iş, olmak bir web sunucusu doğru ölçüsünü düşünün. Ancak, bir etkileşimli grafik programında bile kısa duraklamalar olumsuz kullanıcı deneyimini etkileyebilir. Bazı kullanıcılar için diğer konuları duyarlıdır. Ayak izi sayfaları ve önbellek satırları ölçülen bir işlem çalışma kümesidir. Sınırlı fiziksel bellek veya birçok süreçleri ile sistemlerde, ayak izi ölçeklenebilirlik gerektirebilir. Çabukluk bir nesne ölü olduğu arasında geçen zamanı ve bellek kullanılabilir duruma geldiğinde, sistemleri, uzaktan yöntem çağırma (RMI) dahil olmak üzere önemli bir göz için dağıtılmıştır. Genel olarak, belirli üretimi boyutlandırma bir ticaret-off bu noktalar arasında seçer. Örneğin, çok büyük bir genç nesil performansı en üst düzeye ama çok yer kaplayan, çabukluk ve duraklama kez pahasına yapar. genç nesil duraklar küçük bir genç nesil üretilen iş pahasına kullanılarak en aza indirilebilir. Bir ilk yaklaşım, başka bir nesil için duraklama süreleri ve koleksiyonu sıklığı bir nesil boyutlandırma etkilemez. İşte boyutu nesillere kimse doğru yolu yoktur. En iyi seçim yolu uygulama kullanır bellek yanı sıra kullanıcı gereksinimleri belirlenir. Bu nedenle sanal makine seçimi bir çöp collectior her zaman en iyi durumda değilse ve kullanıcı komut satırı seçenekleri, aşağıda açıklanan şeklinde geçersiz kılınmış olabilir.

3.2 Öçme/Ölçüm
İşlem hacmi ve ayak izi en iyi ölçümleri özellikle uygulama kullanılarak ölçülür. Örneğin, bir web sunucusu-den geçerek ayak izi sunucu pmap komutunu kullanarak Solaris işletim sisteminde ölçülen bir istemci yük jeneratör kullanarak test edilebilir. Öte yandan, duraklar çöp toplama nedeniyle kolayca sanal makine tanılama çıktısını inceleyerek tahmin edilir. Komut satırı bağımsız değişkeni-verbose: gc her koleksiyon bilgileri yazdırır. Unutmayın biçimi - verbose: gc çıktıdır sürümler J2SE platformu arasında değişebilir. Örneğin, işte bir büyük sunucu uygulama çıktısı:
[GC 325407K->83000K(776768K), 0.2300771 saniye]
[GC 325816K->83372K(776768K), 0.2454258 saniye]
[Full GC 267628K->83769K(776768K), 1.8479984 saniye]

Burada iki küçük koleksiyon ve bir büyük bir bakın. Sayıları daha önce ve sonra okuyun {demiş}

325407K->83000K (ilk çizgide iken )

canlı nesneler Birleşik boyutunu önce ve çöp toplama sonra sırasıyla gösterir. Sonra küçük koleksiyonları sayısı mutlaka hayatta değil, ancak doğrudan hayatta oldukları için veya çünkü onlar içinde veya tenured(annamadım) nesilden başvurulan kazanılamıyor nesneleri içerir.
(776768K)(ilk çizgide iken)

Toplam kullanılabilir alan, alan eksi bir kurtulan mekanların toplam öbek kalıcı nesil saymazsak. Küçük toplama bir ikinci çeyrek hakkında aldı.
0.2300771 saniye"ler" (ilk çizgide iken )


Üçüncü satır büyük koleksiyon için benzer biçimidir. bayragı[kodu] -XX:+PrintGCDetails koleksiyonlarıyla ilgili ek bilgileri yazdırır. Bu bayrak ile yazdırılan ek bilgi sanal makineyi her sürümü ile değiştirmek sorumludur. Ek çıktı ile -XX:+PrintGCDetails bayrak özellikle geliştirme Java Virtual Machine ihtiyaçları ile değiştirir. İle çıktısı örneği -XX:+PrintGCDetails J2SE platformu için sürüm 1.5 seri çöp toplayıcı kullanarak burada gösterilir

[GC [DefNew: 64575K->959K(64576K), 0.0457646 secs] 196016K->133633K(261184K), 0.0459067 secs]]

küçük koleksiyonu genç nesil yaklaşık % 98'i yeniden elde etmek gösterir,

DefNew: 64575K->959K(64576K)
ve yaklaşık 46 milisaniye aldı.
0.0457646 secs [45.7646 ms]
Tüm yığın kullanımı yaklaşık % 51 düşürüldü
196016K->133633K(261184K)
ve son kez tarafından belirtildiği gibi hafif bazı ek yükü (üzerine genç nesil Topluluğu) koleksiyonu için oldu:
0.0459067 secs
bayrak[kod] -XX:+PrintGCTimeStamps Buna ek olarak bir zaman damgası her koleksiyonu başında yazdırılır.

111.042: [GC 111.042: [DefNew: 8128K->8128K(8128K), 0.0000505 secs]111.042: [Tenured: 18154K->2311K(24576K), 0.1290354 secs] 26282K->2311K(32704K), 0.1293306 secs]

Koleksiyon 111 saniye içine uygulama yürütme başlar. Küçük collection hakkında aynı anda başlar. Ayrıca bilgi Tenured tarafından belirlenen büyük koleksiyonu için gösterilir. Tenured üretimi kullanımı için yaklaşık % 10 azaldı
18154K->2311K(24576K)
ve.13 saniye sürdü.
0.1290354 secs

[SUANA KADAR BU KADAR ÇEVİRDİM SUAN
Sizing the Generations
ı çeviriyom]
:D Neyse teşekkür ederim. İyi forumlar. Konu kilitlenebilir.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Hala Discord sunucumuza katılmadın mı?

Büyük bir topluluğun parçası ol, etkinliklere katıl ve özel hediyeler kazanma şansı yakala!

Şimdi Katıl
Üst