Linux'ta Depolama Alanı Nasıl Optimize Edilir
15 dakikalık okuma - 22 Mayıs 2026

Paket önbelleği temizlemeden dosya sistemi ayarlamaya ve otomatik bakıma kadar Linux sunucularında disk alanını geri kazanmak ve optimize etmek için pratik teknikler.
Linux'ta Depolama Alanını Optimize Etme
Yıllardır, diskin dolması durumuna verilen standart cevap basitti: daha fazla depolama alanı eklemek. Depolama alanı ucuzdu. Artık durum böyle değil. Küresel üretim kapasitesini tüketen AI altyapısı talebinin etkisiyle, NAND flash fiyatları 2025'in sonlarından itibaren yükseldi. Kurumsal SSD sözleşme fiyatları yalnızca 2026'nın ilk çeyreğinde %85-90 arttı, tüketici NVMe sürücülerinin piyasa fiyatı yaklaşık iki katına çıktı ve yeni NAND üretim kapasitesinin 2027'ye kadar devreye girmesi beklenmiyor.
Sonuç: Sunucunuzdaki her gigabaytın maliyeti bir yıl öncesine göre daha yüksek ve bu da, yeni donanım satın almaktansa mevcut donanımınızı optimize etmenin çok daha iyi bir yatırım olduğunu gösteriyor. Bu yazıda, disk alanınızı neyin tükettiğini bulma, temizleme ve depolama alanını daha verimli kullanmak için dosya sisteminizi yapılandırma konuları ele alınmaktadır.
Diskinizi Neyin Kullandığını Bulma
Şu komutla başlayın df -h ile başlayın ve toplam boyut, kullanılan alan ve kullanım yüzdesi dahil olmak üzere, bağlanmış her dosya sisteminin anlık görüntüsünü alın. %90'ın üzerindeki tüm bölümler dikkat gerektirir. Gerekirse belirli bölümleri tek tek kontrol edin:
df -h /
df -h /bootinode'ları gözden kaçırmayın. Bir dosya sisteminde boş alan olabilir ancak kullanılabilir inode olmayabilir; bu da aynı hatalara neden olur. df -i.
Eğer df %100 kullanım gösteriyor ancak rakamlar tutmuyorsa, muhtemelen hayalet dosyalarınız vardır. Bunlar, silinmiş ancak çalışan bir işlem tarafından hala açık tutulmakta olan dosyalardır. İşlem dosya tanıtıcısını serbest bırakana kadar alan geri kazanılmayacaktır. Bunları şu komutla bulun:
sudo lsof / | grep deletedHangi dosya sistemlerinin baskı altında olduğunu öğrendikten sonra, du veya ncdukullanarak dizinleri inceleyin. Hızlı kontroller veya komut dosyası oluşturma için du doğru araçtır:
du -h --max-depth=1 /varKökten tarama yaparken -x komutunu ekleyin. Uzak bir sunucuda etkileşimli keşif için /procgibi sanal bağlamaları atlamak için. Uzak bir sunucuda etkileşimli keşif için ncdu size boyutuna göre sıralama yapabileceğiniz ve dosyaları doğrudan silebileceğiniz, gezinilebilir bir metin arayüzü sunar.
| Özellik | du | ncdu |
|---|---|---|
| Arayüz | Statik komut satırı çıktısı | Ok tuşlarıyla gezinilebilen etkileşimli TUI |
| En uygun olduğu durumlar | Komut dosyası oluşturma ve hızlı kontroller | Uzak sunucularda manuel keşif |
| Sıralama | Şu adrese yönlendirme gerektirir sort | Yerleşik (boyuta, ada vb. göre) |
| Dosya silme | Ayrı rm komut | Yerleşik (basın d) |
Paket Önbelleklerini, Günlükleri ve Çift Dosyaları Temizleme
En fazla geri kazanılabilir alanın üç alanı vardır: paket önbellekleri, günlük dosyaları ve büyük veya yinelenen dosyalar.
Paket Önbellekleri ve Yetim Bağımlılıklar
Her yükleme veya güncelleme, önbelleğe alınmış paket dosyalarını geride bırakır. Zamanla bunlar sessizce birikir. Dağıtımınıza göre bunları temizleyin:
| Görev | Debian/Ubuntu (APT) | Fedora/RHEL (DNF) | Arch (Pacman) |
|---|---|---|---|
| Önbelleği temizle | sudo apt clean | sudo dnf clean all | sudo paccache -r |
| Yetim dosyaları kaldır | sudo apt autoremove | sudo dnf autoremove | pacman -Rs $(pacman -Qdtq) |
| Kalan yapılandırmaları temizle | sudo apt autoremove --purge | Autoremove tarafından yönetilir | Yok |
Değişiklikleri önce sudo apt autoremove --dry-run. Eski çekirdekler, Ubuntu sistemlerinde 1,5 GB veya daha fazla yer kaplayabilir. Eski sürümleri kaldırmadan önce, her zaman çalışan çekirdeği ve bir yedeği saklayın.
Snap veya Flatpak kullanıyorsanız, bunlar da revizyonları ve çalışma zamanlarını biriktirir:
sudo snap set system refresh.retain=2
flatpak uninstall --unused/var/log içindeki Günlük Dosyaları
Günlükler, en yaygın sessiz disk tüketicileridir. Önce aşırı büyük günlükleri bulun:
du -xhd1 /var/log | sort -h
find /var/log -type f -size +100Msystemd günlükleri için, dosyaları manuel olarak silmek yerine yerleşik vacuum aracını kullanın:
sudo journalctl --vacuum-size=500MKalıcı bir sınır belirlemek için /etc/systemd/journald.conf:
SystemMaxUse=500M
MaxRetentionSec=14dayBir hizmet tarafından hala açık tutulan etkin günlük dosyaları için rmkomutunu kullanmayın. İşlem dosya tanımlayıcısını tuttuğu sürece alan boşaltılmayacaktır. Bunun yerine Truncate komutunu kullanın:
sudo truncate -s 0 /var/log/syslogBüyük ve Yinelenen Dosyalar
Tüm sistemde 500 MB'den büyük dosyaları bulun:
sudo find / -type f -size +500M -exec ls -lh {} +Yinelenen dosyalar için rmlint , yinelenen dosyaları, boş dizinleri ve bozuk sembolik bağlantıları tespit etmek için karma tabanlı karşılaştırmalar kullanır. Herhangi bir şeyi silmeden önce çıktısını dikkatlice inceleyin, özellikle de aynı dosyaların farklı işlevlere sahip olabileceği sunucularda.
Dosya Sistemi Düzeyinde Optimizasyon
Dosyaları temizledikten sonra, dosya sisteminizi ayarlayarak aynı donanımdan daha fazla kullanılabilir alan elde edebilirsiniz.
Ext4 Ayrılmış Alanını Azaltma
Varsayılan olarak, ext4 dosya sisteminin %5'ini kök için ayırır. 2 TB'lık bir veri bölümünde bu, 100 GB'lık boş alan anlamına gelir. Veri bölümünün kök dosya sistemi olmadığı özel bir sunucuda, bunu güvenle azaltabilirsiniz:
sudo tune2fs -m 1 /dev/sdXnBu, ayırmayı %1 olarak ayarlar ve bu, çoğu kullanım durumu için yeterlidir. Değişikliği tune2fs -l /dev/sdXn.
Btrfs Şeffaf Sıkıştırma
Btrfs, ext4 ve XFS'nin sunmadığı şeffaf dosya sıkıştırmasını destekler. Yazma sırasında verileri otomatik olarak sıkıştırmak için compress=zstd komutunu kullanarak yazma sırasında verileri otomatik olarak sıkıştırın. ZSTD, hız ve oran arasında iyi bir denge sağlar. Karışık dosya iş yükleri için compress-force=zstd , sezgisel algoritmanın normalde atlayacağı dosyaları sıkıştırarak %10-20 oranında ek tasarruf sağlayabilir.
Btrfs birimindeki mevcut verileri sıkıştırmak için:
btrfs filesystem defragment -czstd /path/to/dirAnlık görüntüler veya reflinkler içeren birimlerde bu konuda dikkatli olun. Birleştirme işlemi, Yazma Sırasında Kopyala ilişkilerini bozar ve bu da aslında disk kullanımını artırabilir.
Anlık Kopyalar için Reflinkler
Hem XFS hem de Btrfs, bir kopya değiştirilene kadar fiziksel blokları paylaşan dosya kopyaları oluşturan reflink'leri destekler. Bu, depolama tüketimini ikiye katlamadan VM disk görüntülerini veya konteyner katmanlarını klonlamak için kullanışlıdır:
cp --reflink=always source.img clone.imgLVM İnce Ayırma
LVM ince provizyon, fiziksel olarak sahip olduğunuzdan daha fazla mantıksal alan ayırmanıza olanak tanır ve yalnızca veriler yazıldığında gerçek disk alanı tüketir. Bu, her birinin kendi mantıksal birimine ihtiyaç duyan ancak hepsinin aynı anda bu birimleri doldurmayacak olan birden fazla VM veya konteyner çalıştırırken değerlidir.
İnce havuzların tükenmesini önlemek için, /etc/lvm/lvm.conf ayarı thin_pool_autoextend_threshold ve thin_pool_autoextend_percent.
Depolama Bakımını Otomatikleştirme
Manuel temizlemeler bir kez işe yarar. Otomatik temizlemeler ise şu andan bir sonraki oturum açışınıza kadar disklerinizi sağlıklı tutar. systemd Mümkün olduğunca cron kullanın. Bunlar, çıktıları journalctl otomatik olarak kaydeder ve Persistent=true yeniden başlatmanın ardından kaçırılan çalıştırmaları telafi eder.
| Görev | Araç | Sıklık |
|---|---|---|
| Günlük | logrotate | Günlük veya haftalık |
| Günlük vakumlama | journalctl --vacuum-time | Haftalık |
| Paket önbelleği temizleme | apt clean / dnf clean all | Aylık |
| Geçici dosya temizleme | systemd-tmpfiles | Günlük |
| Docker budama | docker system prune | Haftalık |
| Disk kullanımı izleme | Özel komut dosyası + systemd zamanlayıcı | Her 15-30 dakikada bir |
Docker özel bir ilgiyi hak ediyor. Konteyner günlükleri, görünür bir uyarı olmaksızın büyüyebilir. /etc/docker/daemon.json. max-size ve max-file altında log-opts anahtarını ayarlayarak tek tek konteynerlerin diskinizi doldurmasını önleyin.
Proaktif izleme için iki aşamalı bir uyarı sistemi kurun: disk kullanımının %80'inde bir uyarı ve %90'ında kritik bir uyarı. Büyüme eğilimlerini takip edebilmek ve bir bölümün ne zaman kapasitesine ulaşacağını tahmin edebilmek için disk kullanımını saatlik olarak günlüğe kaydedin:
0 * * * * df --output=source,size,used,pcent >> /var/log/disk_usage.csvBir güvenlik önlemi daha: /var, /tmpve /home ayrı bölümlere bağlayın. Bu, kontrolsüz logların veya kullanıcı verilerinin kök dosya sistemini tüketmesini ve tüm sistemi çökertmesini önler.
Her Gigabaytı Değerlendirin
Depolama fiyatları yükselirken ve 2027'de yeni NAND üretimi devreye girene kadar bu durumun düzelmesi beklenmezken, elinizdeki kaynakları optimize etmek sadece iyi bir uygulama değildir. Bu, gerçek anlamda para tasarrufu sağlar. Yaklaşım oldukça basittir:
- Disk kullanımınızı
df,duvencduherhangi bir değişiklik yapmadan önce kontrol edin. - Paket önbelleklerini temizleyin, günlükleri döndürün ve yinelenenleri kaldırarak anında alan kazanın.
- Dosya sisteminizi ayarlayın. Aynı donanımdan daha fazla verim almak için ext4 ayrılmış bloklarını azaltın, Btrfs sıkıştırmasını etkinleştirin veya LVM ince provizyonunu kullanın.
- Disklerinizin denetimler arasında temiz kalması için systemd zamanlayıcılarıyla bakımı otomatikleştirin.
- Kullanım eğilimlerini izleyin ve sorunları erken tespit etmek için %80 ve %90 seviyelerinde uyarılar ayarlayın.
Yüksek performanslı NVMe depolama alanına sahip özel sunucu altyapısına ihtiyacınız varsa, FDC'nin özel sunucuları tam da bunun için tasarlanmıştır.
Güçlü ve ölçülmemiş bir VPS'ye sahip olmak neden önemlidir?
Güvenilir performansa ve sınırsız trafiğe mi ihtiyacınız var? Güçlü bir ölçülmemiş VPS, kullanım limitleri konusunda endişelenmeden ihtiyacınız olan hızı, ölçeklenebilirliği ve bant genişliğini sunar.
3 dakikalık okuma - 9 Mayıs 2025
Linux'ta Depolama Alanı Nasıl Optimize Edilir
15 dakikalık okuma - 22 Mayıs 2026

Sorularınız mı var veya özel bir çözüme mi ihtiyacınız var?
Esnek seçenekler
Küresel erişim
Anında dağıtım
Esnek seçenekler
Küresel erişim
Anında dağıtım