bup-memtest - bup bellek kullanım istatistiklerini test edin
bup memtest [options...]
bup memtest, bup deponuzdaki paket dizinlerinin listesini açar, ardından listede var olmayan bir dizi nesne arar ve her döngüden sonra bellek kullanım istatistiklerini yazdırır.
Unix sistemlerinin çalışma şekli nedeniyle, çıktı genellikle VmSize sütununda büyük (ve değişmeyen) bir değer gösterir, çünkü dizin dosyalarının ilk etapta eşlenmesi belirli bir miktarda sanal adres alanı gerektirir. Ancak bu sanal bellek kullanımı tamamen sanaldır; RAM'inizin hiçbirini almaz. Zamanla bup, dizinlerin diskten yüklenmesi gereken parçalarını kullanır ve bu VmRSS sütununda bir artışa neden olur.
her döngü sırasında aranacak nesne sayısını ayarlayın (yani bir çıktı satırı yazdırmadan önce)
döngü sayısını ayarlayın (yani, birinciden sonraki çıktı satırı sayısı). İlk çıktı satırı her zaman 0'dır (yani herhangi bir nesne aranmadan önceki taban çizgisi).
bup midx tarafından oluşturulan herhangi bir .midx dosyasını yok sayın. Bu, bellek performansını midx kullanarak ve kullanmadan karşılaştırmanıza olanak tanır.
rastgele var olmayan nesneleri aramak yerine varolan nesneleri arayın. Bu, bellek kullanımını ve performansını büyük ölçüde etkileyebilir. Bup save'in çoğu zaman zamanının çoğunu var olmayan nesneleri aramakla geçirdiğini unutmayın, çünkü mevcut olanlar muhtemelen zaten yedeklemeye çalışmayacağımız değiştirilmemiş dosyalardadır. Böylece varsayılan davranış, gerçek bup performansını daha doğru bir şekilde yansıtır. Ancak, mevcut nesneleri aramayı eskisinden çok daha kötü hale getirmediğinizden emin olmak için bu seçeneği yine de isteyebilirsiniz.
$ bup memtest -n300 -c5
PackIdxList: using 1 index.
VmSize VmRSS VmData VmStk
0 20824 kB 4528 kB 1980 kB 84 kB
300 20828 kB 5828 kB 1984 kB 84 kB
600 20828 kB 6844 kB 1984 kB 84 kB
900 20828 kB 7836 kB 1984 kB 84 kB
1200 20828 kB 8736 kB 1984 kB 84 kB
1500 20828 kB 9452 kB 1984 kB 84 kB
$ bup memtest -n300 -c5 --ignore-midx
PackIdxList: using 361 indexes.
VmSize VmRSS VmData VmStk
0 27444 kB 6552 kB 2516 kB 84 kB
300 27448 kB 15832 kB 2520 kB 84 kB
600 27448 kB 17220 kB 2520 kB 84 kB
900 27448 kB 18012 kB 2520 kB 84 kB
1200 27448 kB 18388 kB 2520 kB 84 kB
1500 27448 kB 18556 kB 2520 kB 84 kB Bup indekslemeyi optimize ederken, ilk hedef VmRSS'yi oldukça düşük tutmaktır. Ancak, çok sayıda nesne aradığınız için sonunda tüm dizinleri değiştirmeniz gerekebilir ve bu, RSS'nizin eninde sonunda VmSize kadar büyümesine neden olacaktır.
Buradaki anahtar kelime sonunda'dır. VmRSS makul ölçüde yavaş büyüdüğü sürece, paket dizinlerine erişimin neden olduğu disk etkinliği miktarı oldukça küçüktür. Hızlı bir şekilde büyürse, bup muhtemelen zamanının çoğunu yedeklemenizi gerçekten çalıştırmak yerine dizin verilerini diskten değiştirerek harcayacaktır, bu nedenle yedeklemeler çok yavaş çalışacaktır.
Bup memtest'in amacı, size bellek kullanımınızın ne kadar hızlı büyüdüğü hakkında bir fikir vermek ve daha iyi bellek kullanımı için bup'u optimize etmeye yardımcı olmaktır. Bellek sorunlarınız varsa, sorunları teşhis etmenize yardımcı olması için bup memtest çıktısını göndermeniz istenebilir.
İpucu: bellek kullanımınızı azaltmaya yardımcı olup olmadığını görmek için bup midx -a veya bup midx -f kullanmayı deneyin.
Diğer bilgiler: bup'ta (veya git'te) dizin belleği kullanımı, yalnızca daha önce görülmemiş çok sayıda nesne eklerken gerçekten bir sorundur. Bunun nedeni, her nesne için, veritabanında bulunmadığını kesinlikle doğrulamamız gerektiğidir; bu da, söz konusu nesneyi hiçbirinin içermediğinden emin olmak için mevcut paket dizinlerinin tümünü aramamızı gerektirir. Var olan nesnelerin aranmasına ilişkin daha bariz durumda, aranan nesneler tipik olarak bir şekilde ilişkilidir, bu da muhtemelen hepsinin az sayıda paket dosyasında var olduğu anlamına gelir, bu nedenle bellek kullanımı yalnızca bu paket dosyası dizinleriyle sınırlandırılacaktır.
Git kullanıcıları genellikle tek bir çalıştırmada çok fazla dosya eklemediğinden, git'in gerçekten bup midx gibi bir programa ihtiyacı yoktur. bup ise zamanının çoğunu daha önce görmediği dosyaları yedeklemeye harcıyor, bu nedenle bellek kullanım modelleri farklı.
bup-midx(1)
bup(1) paketinin bir parçası.
Avery Pennarun