Apa Itu Inodes Hosting? Pengertian, Limit, dan Cara Mengatasinya

Pernahkah kamu mendapat pesan error "No space left on device" padahal kapasitas disk hosting masih tersisa banyak? Atau website tiba-tiba tidak bisa membuat file baru, upload gambar, atau bahkan mengirim email, sementara penggunaan storage belum mencapai batas? Kemungkinan besar, yang habis bukan disk space-nya, melainkan inodes-nya.
Inodes adalah salah satu konsep teknis dalam web hosting yang sering diabaikan pengguna baru, namun bisa menjadi sumber masalah serius jika tidak dipahami dengan baik. Banyak pemilik website baru mengeluh hosting mereka "tidak bisa dipakai" padahal storage masih 30-40% tersisa, dan penyebabnya hampir selalu sama: limit inodes sudah terlampaui.
Artikel ini akan menjelaskan secara lengkap apa itu inodes, bagaimana cara kerjanya dalam sistem file Linux, berapa batas normal inodes di berbagai jenis hosting, penyebab inodes cepat penuh, dan cara efektif mengurangi penggunaan inodes sebelum masalah terjadi.
Apa Itu Inodes?
Inode (singkatan dari index node) adalah struktur data dalam sistem file Linux dan Unix yang menyimpan semua informasi atau metadata tentang sebuah file atau direktori, kecuali nama file dan isi (konten) file tersebut.
Setiap file dan folder yang ada di server hosting memiliki tepat satu inode yang terhubung dengannya. Ketika kamu membuat file baru, upload gambar, atau membuat folder, sistem operasi server secara otomatis mengalokasikan satu inode baru untuk entri tersebut.
Metadata yang disimpan dalam setiap inode meliputi:
- Ukuran file - berapa byte ukuran file tersebut
- Timestamp - waktu file dibuat, dimodifikasi, dan diakses terakhir
- Kepemilikan - user ID (UID) dan group ID (GID) pemilik file
- Permission - hak akses baca (r), tulis (w), dan eksekusi (x)
- Jumlah hard link - berapa link yang menunjuk ke inode tersebut
- Pointer ke blok data - lokasi fisik tempat konten file disimpan di disk
- Tipe file - apakah ini file biasa, direktori, symbolic link, dll.
Yang penting dipahami: inode tidak menyimpan nama file. Nama file disimpan di direktori induk (parent directory), bukan di inode itu sendiri. Inilah mengapa kamu bisa memiliki beberapa nama file (hard link) yang menunjuk ke satu inode yang sama.
Secara analogi sederhana: bayangkan sebuah perpustakaan. Setiap buku punya kartu katalog yang menyimpan informasi tentang buku tersebut (pengarang, tahun terbit, lokasi rak, jumlah halaman). Inode adalah kartu katalog itu, sedangkan buku itu sendiri adalah data aktual. Perpustakaan hanya bisa menampung sebanyak jumlah kartu katalog yang tersedia, terlepas dari ada tidaknya ruang fisik di rak untuk bukunya.

Cara Kerja Inodes dalam Sistem File Linux
Untuk memahami mengapa inodes memiliki batas, kita perlu memahami sedikit tentang cara sistem file Linux bekerja. Hosting berbasis Linux (yang merupakan mayoritas web hosting di dunia) umumnya menggunakan sistem file seperti ext4, XFS, atau Btrfs.
Ketika partisi disk diformat dengan sistem file tertentu, sistem operasi mengalokasikan sejumlah inode berdasarkan ukuran partisi dan rasio inode per blok yang telah ditentukan sebelumnya. Pada sistem file ext4, defaultnya adalah satu inode per 16 KB ruang disk. Ini berarti partisi 10 GB akan memiliki sekitar 655.360 inode secara teori.
Namun dalam lingkungan shared hosting, provider tidak memberikan seluruh kapasitas inode tersebut kepada satu pengguna. Mereka membagi dan membatasi per akun untuk menjaga kestabilan server bagi semua pengguna yang berbagi server yang sama.
Proses pembuatan file secara teknis berjalan seperti ini:
- Sistem operasi mencari inode yang tersedia (free inode) dalam inode table
- Inode baru dialokasikan dan diisi dengan metadata file
- Nama file ditulis ke direktori induk beserta nomor inode yang baru dibuat
- Blok data di disk dialokasikan untuk menyimpan isi file
- Pointer ke blok data tersebut disimpan dalam inode
Ketika limit inode tercapai, langkah pertama (mencari inode bebas) akan gagal, sehingga seluruh proses pembuatan file tidak bisa dilanjutkan. Akibatnya: tidak bisa upload file, tidak bisa membuat folder baru, website tidak bisa menyimpan session, email masuk tidak bisa disimpan, bahkan log sistem tidak bisa ditulis.
Untuk mengecek jumlah inode yang tersedia dan digunakan di server Linux, kamu bisa menggunakan perintah berikut:
# Cek penggunaan inode semua partisi
df -i
# Output contoh:
# Filesystem Inodes IUsed IFree IUse% Mounted on
# /dev/sda1 6553600 234521 6319079 4% /
# tmpfs 500000 1 499999 1% /dev/shm
# Cek inode di direktori tertentu (rekursif)
find /home/username -printf '%i
' | sort -u | wc -l
# Cek inode untuk direktori spesifik
ls -lai /home/username/public_html
Perintah df -i (disk filesystem - inodes) adalah cara paling cepat untuk melihat kondisi inode di level sistem. Kolom IUsed menunjukkan inode yang sudah terpakai, IFree menunjukkan yang masih tersedia, dan IUse% menunjukkan persentase penggunaan.
Berapa Limit Inodes di Hosting?
Limit inodes sangat bervariasi tergantung jenis hosting dan provider yang kamu gunakan. Tidak ada standar industri yang baku, sehingga tiap provider memiliki kebijakan berbeda. Berikut gambaran umum limit inodes berdasarkan jenis hosting:
| Jenis Hosting | Limit Inodes Umum | Cocok Untuk | Catatan |
|---|---|---|---|
| Shared Hosting Entry | 50.000 - 100.000 | Blog sederhana | Cepat penuh untuk proyek besar |
| Shared Hosting Standar | 100.000 - 250.000 | WordPress, Toko Online kecil | Cukup untuk sebagian besar website |
| Shared Hosting Premium | 250.000 - 500.000 | Multisite, aplikasi kompleks | Perhatikan penggunaan email dan cache |
| Reseller Hosting | 500.000 - 2.000.000 | Banyak akun klien | Limit dibagi ke tiap sub-akun |
| VPS (Virtual Private Server) | 1.000.000 - 10.000.000+ | Aplikasi skala menengah | Tergantung ukuran disk dan filesystem |
| Dedicated Server | Tidak ada limit buatan | Enterprise, aplikasi besar | Limit hanya dari kapasitas disk fisik |
| Cloud Hosting (Object Storage) | Tidak relevan | Media, backup, static assets | Tidak menggunakan inode tradisional |
Sebagai referensi, sebuah instalasi WordPress yang bersih (fresh install) biasanya menggunakan sekitar 1.500 - 2.500 inode. Dengan beberapa plugin terpasang, angkanya bisa naik ke 5.000-15.000. WordPress multisite dengan banyak konten bisa memakan 50.000+ inode. Sedangkan proyek Node.js dengan folder node_modules bisa langsung memakan 80.000-200.000 inode hanya dari dependensi saja.
Cara Cek Penggunaan Inodes di cPanel
Bagi pengguna hosting dengan panel cPanel (yang merupakan standar mayoritas shared hosting), mengecek penggunaan inode cukup mudah. Ada beberapa cara yang bisa dilakukan:
Metode 1: Melalui cPanel Dashboard
- Login ke cPanel akun hosting kamu
- Scroll ke bagian "Statistics" atau "Statistik" di sidebar kanan (pada tema cPanel modern)
- Cari baris "Inodes" yang menampilkan penggunaan saat ini dan limit maksimum
- Informasi ditampilkan dalam format: Digunakan / Maksimum (contoh: 45.231 / 200.000)
Metode 2: Melalui File Manager cPanel
Di halaman File Manager cPanel, bagian bawah layar biasanya menampilkan ringkasan penggunaan termasuk jumlah file dan direktori yang bisa menjadi indikator kasar penggunaan inode.
Metode 3: Melalui Terminal / SSH
Jika akun hosting kamu mendukung akses SSH (biasanya tersedia di paket premium), kamu bisa menjalankan perintah lebih detail:
# Cek total inode yang digunakan di home directory
find ~ -printf '%i
' | sort -u | wc -l
# Cek 10 direktori dengan inode terbanyak
find ~ -type d | while read dir; do
count=$(find "$dir" -maxdepth 1 | wc -l)
echo "$count $dir"
done | sort -rn | head -10
# Cek penggunaan inode per folder level pertama
for dir in ~/*/; do
count=$(find "$dir" | wc -l)
printf "%10d %s
" "$count" "$dir"
done | sort -rn
# Cek inode pada partisi/mount point tertentu
df -ih /home
# Tampilkan inode number dari file spesifik
ls -i /home/username/public_html/index.php
Metode 4: Plugin WordPress untuk Monitoring
Beberapa plugin hosting management untuk WordPress seperti Health Check & Troubleshooting atau plugin dari provider hosting tertentu dapat menampilkan informasi penggunaan inode langsung di dashboard WordPress kamu.
Sebagai panduan umum, jika penggunaan inode sudah mencapai 80% dari limit, kamu perlu mulai melakukan pembersihan. Jangan tunggu sampai penuh karena beberapa operasi sistem membutuhkan ruang inode minimal untuk berfungsi dengan baik.

Apa yang Membuat Inodes Cepat Penuh?
Memahami penyebab inodes cepat habis sangat penting agar kamu bisa mencegahnya sebelum terjadi. Berikut adalah penyebab paling umum penggunaan inode yang berlebihan:
1. Email yang Menumpuk
Ini adalah penyebab nomor satu inode penuh di shared hosting, terutama untuk akun email bisnis aktif. Setiap email yang masuk - baik itu pesan utama, lampiran, atau metadata - disimpan sebagai file terpisah di server dengan format Maildir. Artinya:
- 1 email dengan 3 lampiran = minimal 4 file = 4 inode
- Folder spam yang dibiarkan menumpuk selama berbulan-bulan bisa memakan puluhan ribu inode
- Email di folder Trash yang tidak dikosongkan terus menambah penggunaan inode
2. File Session PHP
Setiap kunjungan ke website yang menggunakan session PHP (WordPress, WooCommerce, hampir semua CMS) membuat file session sementara di direktori /tmp atau public_html/tmp. File-file ini memiliki nama seperti sess_abc123def456 dan berukuran sangat kecil (sering 0 byte), namun masing-masing menggunakan satu inode.
Website dengan traffic tinggi yang tidak memiliki mekanisme pembersihan session otomatis bisa mengakumulasi ratusan ribu file session dalam beberapa minggu.
3. Cache Plugin yang Tidak Dikelola
Plugin caching WordPress seperti WP Super Cache, W3 Total Cache, atau LiteSpeed Cache menghasilkan file HTML cache untuk setiap URL yang diakses. Website dengan ribuan halaman produk atau artikel bisa menghasilkan ratusan ribu file cache.
4. Folder node_modules
Jika kamu mengembangkan atau menjalankan aplikasi Node.js di server hosting, folder node_modules adalah "pembunuh inode" yang paling brutal. Package npm modern memiliki dependensi bertingkat yang sangat dalam.
# Cek berapa inode yang digunakan node_modules
find ./node_modules | wc -l
# Output biasa: 80.000 - 200.000+ untuk project menengah
# Cek ukuran vs jumlah file (ilustrasi ketidakseimbangan)
du -sh node_modules # Mungkin hanya 150 MB
find node_modules -type f | wc -l # Tapi 80.000+ file!
5. Repository Git (.git folder)
Setiap repository Git menyimpan seluruh histori commit sebagai object files individual. Sebuah project yang sudah berkembang selama 1-2 tahun dengan ratusan commit bisa memiliki puluhan ribu object files di dalam folder .git/objects/.
6. Log File yang Tidak Dirotasi
Error log, access log, dan debug log yang tidak dikonfigurasi dengan rotasi otomatis akan terus bertambah. Aplikasi PHP dengan error log aktif bisa menghasilkan ribuan file log kecil per hari jika tidak diatur dengan benar.
7. File Backup Lokal
Plugin backup WordPress seperti UpdraftPlus atau BackupBuddy yang dikonfigurasi menyimpan backup di dalam folder hosting itu sendiri (bukan ke cloud) bisa memakan sangat banyak inode. Satu backup WordPress dengan konten gambar bisa terdiri dari ratusan ribu file.
8. Thumbnail dan Gambar yang Digenerate Otomatis
WordPress secara otomatis menghasilkan beberapa ukuran gambar untuk setiap gambar yang diupload (thumbnail, medium, large, dll). Untuk setiap 1 gambar yang diupload, WordPress bisa menghasilkan 4-8 file gambar tambahan. Toko online dengan ribuan produk bisa memiliki puluhan ribu file gambar hanya dari resize otomatis ini.

Cara Mengurangi Penggunaan Inodes
Setelah mengetahui penyebabnya, berikut langkah-langkah konkret yang bisa kamu ambil untuk mengurangi jumlah inode yang digunakan:
1. Bersihkan Email Lama Secara Berkala
# Hapus email di folder spam via terminal (ganti username)
rm -rf /home/username/mail/*/spam/
rm -rf /home/username/mail/*/Spam/
rm -rf /home/username/mail/*/Junk/
rm -rf /home/username/mail/*/.Trash/
# Hapus semua email lebih dari 30 hari di folder Trash
find /home/username/mail -name "*.eml" -mtime +30 -delete
Alternatif yang lebih aman: gunakan webmail (Roundcube) atau aplikasi email client (Outlook, Thunderbird) untuk menghapus dan mengosongkan trash secara berkala.
2. Hapus File Session PHP yang Menumpuk
# Hapus file session yang lebih dari 24 jam
find /tmp -name "sess_*" -mtime +1 -delete
find /home/username/tmp -name "sess_*" -mtime +1 -delete
# Cek lokasi session save path di PHP
php -i | grep session.save_path
Untuk mencegah akumulasi session, konfigurasikan di php.ini atau .htaccess:
# Di .htaccess atau php.ini
php_value session.gc_probability 1
php_value session.gc_divisor 100
php_value session.gc_maxlifetime 3600
3. Bersihkan Cache WordPress
- Gunakan menu "Clear Cache" di plugin caching yang kamu pakai (WP Super Cache, W3 Total Cache, LiteSpeed Cache, dll)
- Atur jadwal otomatis pembersihan cache: setiap 24-48 jam untuk website dengan konten yang sering berubah
- Pertimbangkan menggunakan Redis atau Memcached untuk object cache (yang tidak menulis ke disk sebagai file)
# Hapus cache WP Super Cache manual
rm -rf /home/username/public_html/wp-content/cache/supercache/
# Hapus cache W3 Total Cache
rm -rf /home/username/public_html/wp-content/cache/page_enhanced/
rm -rf /home/username/public_html/wp-content/cache/minify/
# Hapus cache LiteSpeed
rm -rf /home/username/public_html/wp-content/litespeed/
4. Hapus node_modules dari Server Production
Folder node_modules seharusnya tidak ada di server production. Gunakan proses build yang menghasilkan file static, lalu upload hanya hasil build-nya saja:
# Hapus node_modules dari server
rm -rf /home/username/public_html/node_modules/
# Jika harus ada di server, gunakan .npmrc untuk mengurangi file
# Tambahkan di .npmrc:
# omit=dev
# prefer-dedupe=true
5. Optimalkan Gambar WordPress dengan Regenerate Thumbnails
Gunakan plugin Regenerate Thumbnails setelah mengubah ukuran gambar di WordPress, dan hapus ukuran gambar yang tidak digunakan melalui plugin Force Regenerate Thumbnails atau Media Cleaner.
6. Kompres dan Arsipkan File Lama
# Kompres folder log lama menjadi satu file tar.gz
tar -czf logs_archive_2024.tar.gz /home/username/logs/2024/
rm -rf /home/username/logs/2024/
# Kompres folder backup lama
tar -czf backup_old.tar.gz /home/username/backups/old/
rm -rf /home/username/backups/old/
Satu file .tar.gz yang berisi 10.000 file hanya menggunakan 1 inode, dibandingkan 10.000 inode jika file-file tersebut tetap terpisah.
"Unlimited Inodes" di Hosting: Fakta atau Mitos?
Banyak provider hosting, terutama yang menawarkan paket "Unlimited" atau "Tanpa Batas", mengklaim bahwa paket mereka memiliki unlimited inodes. Apakah klaim ini benar?
Jawaban singkatnya: hampir selalu ada batasan, hanya tidak disebutkan secara eksplisit di halaman pemasaran.
Berikut beberapa fakta yang perlu kamu ketahui:
Fakta 1: Secara Teknis, Tidak Ada yang Benar-Benar Unlimited
Setiap sistem file Linux memiliki jumlah inode yang ditentukan saat partisi diformat. Meskipun beberapa sistem file modern seperti XFS dan Btrfs dapat menambah inode secara dinamis, tetap ada batas fisik berdasarkan ukuran disk dan konfigurasi sistem.
Fakta 2: Fair Use Policy Selalu Ada
Provider yang mengklaim "unlimited inodes" hampir selalu memiliki klausul fair use atau acceptable use policy yang memungkinkan mereka membatasi atau menangguhkan akun yang menggunakan resource secara berlebihan, termasuk inode.
Baca syarat dan ketentuan dengan teliti. Frasa seperti "tidak boleh menyebabkan beban berlebihan pada server", "penggunaan normal", atau "sesuai kapasitas sistem" adalah cara provider membatasi tanpa menyebutkan angka spesifik.
Fakta 3: Soft Limit vs Hard Limit
Banyak provider menerapkan soft limit (peringatan) dan hard limit (pemblokiran). Akun yang melebihi soft limit akan mendapat notifikasi email, namun masih bisa beroperasi. Melebihi hard limit akan menyebabkan error pembuatan file.
Bagaimana Cara Memilih Hosting yang Tepat Terkait Inode?
Daripada tergiur klaim "unlimited", lebih baik tanyakan langsung ke provider atau cari di dokumentasi teknis mereka:
- Berapa limit inode yang diberikan untuk paket yang kamu pilih?
- Apakah ada fitur monitoring inode di panel kontrol?
- Apa yang terjadi jika inode mendekati atau melebihi limit?
- Berapa biaya untuk upgrade limit inode?
Kesimpulan
Inodes adalah komponen fundamental dari sistem file Linux yang menentukan berapa banyak file dan folder yang bisa ada di server hosting kamu, terlepas dari seberapa besar ruang disk yang tersedia. Setiap file, folder, link, dan socket membutuhkan tepat satu inode, dan ketika limit tercapai, server tidak bisa membuat file baru sama sekali.
Kunci untuk mengelola inode dengan baik adalah:
- Monitor secara rutin melalui cPanel atau perintah
df -i - Bersihkan email spam dan trash secara berkala
- Atur rotasi cache dan session PHP dengan jadwal otomatis
- Hindari menyimpan node_modules di server production
- Kompres file lama menjadi arsip tar.gz
- Pilih hosting dengan limit inode yang sesuai kebutuhan, bukan hanya tergiur klaim "unlimited"
Dengan memahami dan aktif mengelola inode, kamu bisa mencegah masalah website down atau tidak bisa upload file akibat inode penuh - yang sering kali datang tiba-tiba dan menyebabkan kepanikan yang tidak perlu.
Butuh Hosting dengan Limit Inode yang Jelas dan Transparan?
HostingEkspres menyediakan paket hosting dengan informasi limit inode yang transparan, monitoring real-time di panel kontrol, dan dukungan teknis 24/7 untuk membantu kamu mengelola resource hosting secara optimal.
Lihat Paket Hosting KamiPertanyaan Umum (FAQ)
Apa yang terjadi jika inodes di hosting penuh?
Jika limit inode tercapai, sistem tidak bisa membuat file atau direktori baru sama sekali. Dampaknya sangat luas: website tidak bisa menyimpan file upload, WordPress tidak bisa membuat post baru, email masuk tidak bisa disimpan di server, session PHP tidak bisa dibuat sehingga login tidak berfungsi, dan bahkan log sistem tidak bisa ditulis. Menariknya, kondisi ini bisa terjadi meskipun ruang disk (storage) masih tersisa banyak.
Apakah ukuran file mempengaruhi jumlah inode yang digunakan?
Tidak sama sekali. Setiap file menggunakan tepat satu inode, terlepas dari ukurannya. File berukuran 1 byte menggunakan satu inode, begitu juga file berukuran 10 GB. Bahkan file berukuran 0 byte (kosong) tetap menggunakan satu inode. Yang mempengaruhi jumlah inode adalah jumlah file, bukan ukuran totalnya.
Bagaimana cara paling cepat mengosongkan inode yang penuh?
Cara tercepat adalah menghapus direktori dengan banyak file kecil. Prioritaskan: (1) folder email spam/trash, (2) file session PHP di /tmp, (3) cache plugin WordPress, (4) folder node_modules jika ada, (5) log file lama. Mengompresi ribuan file kecil menjadi satu file .tar.gz juga efektif - mengubah ribuan inode menjadi hanya satu inode untuk arsip tersebut.
Apakah folder .git di dalam hosting bisa memakan banyak inode?
Ya, sangat bisa. Git menyimpan setiap versi file sebagai object individual di folder .git/objects/. Repository yang sudah lama dengan ratusan commit dan banyak file bisa memiliki puluhan ribu object files. Untuk production server, pertimbangkan untuk tidak menyimpan repository Git secara lengkap - cukup deploy file yang sudah dihasilkan saja tanpa folder .git.
Berapa inode yang dibutuhkan untuk website WordPress biasa?
Instalasi WordPress bersih membutuhkan sekitar 1.500-2.500 inode. Dengan tambahan 10-15 plugin aktif, angkanya naik menjadi 8.000-15.000 inode. WordPress yang sudah berjalan selama beberapa bulan dengan konten artikel dan gambar biasanya menggunakan 20.000-50.000 inode. Untuk toko WooCommerce dengan ratusan produk dan gambar, bisa mencapai 100.000+ inode hanya untuk file website-nya saja, belum termasuk email dan cache.
Apakah saya bisa meminta provider hosting untuk menambah limit inode?
Tergantung pada provider dan jenis paket kamu. Beberapa provider shared hosting tidak bisa menambah limit inode per akun karena batas tersebut sudah diatur di level server. Namun banyak provider memungkinkan upgrade ke paket yang lebih tinggi dengan limit inode lebih besar, atau upgrade ke VPS yang memberikan resource lebih fleksibel. Hubungi tim support provider kamu untuk menanyakan opsi yang tersedia beserta biayanya.
Kenapa jumlah inode tidak turun setelah saya menghapus banyak file?
Ada dua sebabnya. Pertama, tombol Delete di File Manager cPanel memindahkan berkas ke folder .trash di home directory, bukan menghapusnya. Berkas itu masih memakai inode sampai kamu mencentang opsi Skip the trash and permanently delete the files atau mengklik Empty Trash. Hal yang sama berlaku untuk folder Trash dan Junk di webmail. Kedua, angka di kotak Statistics cPanel bukan hitungan real time: nilainya diperbarui oleh cron kuota server, jadi sering baru berubah 15 sampai 60 menit kemudian. Kalau ingin angka saat itu juga, jalankan df -ih /home lewat SSH. Periksa juga folder cache tersembunyi seperti .cpanel/caches yang sering terlewat.
Artikel Terkait

Hosting Murah Indonesia: 7 Pilihan Terjangkau Mulai Rp 10 Ribuan
Cari hosting murah Indonesia berkualitas? Bandingkan 7 provider hosting termurah dengan server lokal, mulai Rp 10.000/bulan. Murah tapi tetap cepat dan aman.
Baca Selengkapnya→
Hosting Unlimited 2026: Fakta FUP Sebelum Beli
Hosting unlimited tidak selalu tanpa batas. Pahami FUP, batas CPU, inode, bandwidth, dan tips memilih paket unlimited yang aman.
Baca Selengkapnya→Butuh Hosting untuk Website Anda?
Dapatkan hosting cepat, aman, dan terpercaya dengan harga terjangkau. Gratis domain, SSL, dan support 24/7.
Jangan Ketinggalan Promo!
Subscribe newsletter kami dan dapatkan diskon hingga 50% untuk pembelian pertama kamu.
Gratis, tanpa spam. Dengan subscribe, kamu setuju menerima email tips dari Hosting Ekspres. Bisa berhenti kapan saja.