uVersion
Türkçe
İndir →

Wiki

Depolama & GC

Depo bazında depolama panosu (boyut, tekilleştirme, büyüme) ve garbage collection: eski revizyonların, öksüz chunks'ların, phantom files'ların temizlenmesi.

Giriş

Depolama sekmesi bir deponun disk kullanımını gösterir ve eski revizyonları ve işe yaramaz hale gelen verileri temizleyerek yer geri kazanmak için bir garbage collection (GC) aracı sunar.

Erişim ve roller

Süper yönetici ve yönettiği depolar üzerindeki bir project_admin için erişilebilir, GC çalıştırmak dahil. Sunucu genel istatistikleri ve lisans ise süper yöneticiye ayrılmıştır (panelin başka bir yerinde).

Metrikler

Depolama panosu: tekilleştirme oranı, 30 günlük büyüme histogramı ve en büyük dosyaların ilk 20'si.
  • Toplam boyut ve sıkıştırılmış boyut.
  • Tekilleştirme oranı (%): chunks paylaşımı ve sıkıştırma sayesinde tasarruf edilen alan payı.
  • Dosyalar / revizyonlar / chunks.
  • Büyüme (son 30 gün): günlük revizyon histogramı.
  • En büyük dosyalar: boyuta göre ilk 20 ve revizyon sayıları.

Bu rakamlar şişen bir depoyu tespit etmeye yardımcı olur: sık sık yeniden commit edilen büyük bir ikili dosya veya son 30 gündeki anormal bir büyüme.

Garbage collection

GC panosu: saklama ve min-revizyon alanları, Preview ve Run GC düğmeleri ve bir sonuç bandı.

GC, eski geçmişi iki parametreye göre temizler:

ParametreVarsayılanRol
Retention (days)90Bir revizyonun her zaman korunduğu yaş eşiği.
Min revisions to keep5Yaşları ne olursa olsun her dosya için korunan son revizyon sayısı.

İki düğme:

  • Preview: hiçbir şey silmeden benzetim yapar. Bant: «Y dosya genelinde X revizyon silinecek, Z hayalet giriş kaldırılacak». Her zaman önce önizleyin.
  • Run GC: gerçekten çalıştırır. Bant: «X revizyon silindi, Y öksüz chunks temizlendi, Z hayalet giriş kaldırıldı». Çalıştırma denetim günlüğüne kaydedilir.
GC yıkıcıdır ve geri alınamaz Temizlenen revizyonlar (saklama penceresinin ötesindekiler) geri getirilemez. Her Run GC öncesinde bir Preview çalıştırın ve rakamların beklediğinizle örtüştüğünü doğrulayın.

GC neyi siler

  1. Eski revizyonlar: Retention (days) değerinden daha eski VE dosya başına en yeni Min revisions to keep sayısının ötesindekiler. Ardından, başka hiçbir revizyon tarafından artık referans verilmiyorsa onların chunks'ları.
  2. Öksüz chunks: temizlemeden sonra hiçbir revizyonun artık kullanmadığı veri blokları.
  3. Phantom files: aslında hiç commit edilmemiş dosya satırları (geçersiz yol veya askıda kalmış bir giriş), sabit 7 günlük pencerenin ötesinde (yapılandırılamaz).

Silinen veya obliterate edilen dosyaların silme işaretçileri (tombstones) korunur: bunlar sync sırasında silmeyi istemcilere yaymak için kullanılır ve bu yüzden kaybolmamalıdır.

Sık karşılaşılan tuzaklar

Preview çok az şey bildiriyor

Depo yeniyse veya geçmiş saklama penceresine sığıyorsa normaldir. GC yalnızca hem yeterince eski hem de dosya başına son N'nin ötesindeki revizyonlara dokunur.

Preview ve Run aynı sayaçları göstermiyor

Preview, silinecek chunks ve revizyon-chunk bağlantılarının tam sayısını öngöremez: yalnızca revizyonları, taranan dosyaları ve hayalet girişleri bildirir. Öksüz chunks yalnızca Run sırasında görünür.

Yer geri kazanmak için saklamayı düşürmek

Mümkün, ancak geçmişi kaybedersiniz. Çok geriye gidebilmenin gerektiği bir projede rahat bir saklama süresi tutun ve bunun yerine büyük dosyalar üzerinde çalışın (en büyük dosyalar listesine ve yeniden üretilebilir ürünleri izlemekten kaçınmak için .uversionignore dosyasına bakın).