1. Gambaran umum
- Ringkasan definisi, diagnosis, penanganan, dan pencegahan gejala thrashing yang terjadi pada cache (ARC) sistem berkas ZFS
2. Definisi thrashing ZFS ARC
- Konsep: Fenomena ketika kegagalan cache hit terus-menerus menyebabkan pergantian item cache (eviction) yang sering, sehingga performa sistem justru menurun
- Dampak: Di lingkungan I/O berperforma tinggi (misalnya server database), dapat memicu gangguan layanan yang serius
3. Gejala diagnosis utama
- Nilai CPU
iowait terus berada di atas 20%
- Tingkat penggunaan CPU
system mode meningkat dibanding biasanya
- Rasio cache hit (hit rate) menurun (perlu dibandingkan dengan data saat kondisi normal)
- Gejala kunci: Jika tingkat penggunaan CPU oleh kernel thread
arc_prune, arc_evict melebihi 90%, thrashing dapat dipastikan
4. Langkah penanganan darurat
- Tindakan: Menghapus cache sistem berkas Linux secara manual
- Perintah:
echo 3 > /proc/sys/vm/drop_caches
- Efek: Menghapus page cache dan objek slab sekaligus
- Karakteristik:
- Data yang belum ditulis ke disk (dirty item) tetap dipertahankan, sehingga tidak ada kehilangan data (non-destruktif)
- Segera setelah dijalankan, performa akan turun sementara sampai cache terisi kembali
5. Pencegahan mendasar
- Penyebab: Ukuran cache ARC yang dialokasikan tidak mencukupi dibanding beban kerja sistem
- Ukuran ARC (
zfs_arc_max):
- Nilai default sudah sangat besar, yaitu 1/2 dari memori sistem (berdasarkan Linux)
- Dapat memicu persaingan memori dengan aplikasi lain sehingga sulit untuk sekadar menaikkannya
- Solusi:
- Jika penggunaan memori aplikasi lain tinggi, turunkan nilai
zfs_arc_max untuk mencegah persaingan
- Untuk menyelesaikan masalah secara mendasar, penambahan memori fisik (scale-up) adalah cara yang paling pasti
Belum ada komentar.