Mencari direktori atau file terbesar di Linux

Inspirasi pembahasan kali ini berasal dari pertanyaan mas Aziz soal VPSnya yang tiba – tiba kapasitas Harddisk/SSDnya hampir penuh. Sebelum menebak – nebak apa penyebabnya kok cepat sekali terisi sebaiknya kita melacak dulu dibagian mananya yang tiba – tiba membengkak, setelah itu dilihat file – file apa saja yang baru dibuat dan disimpan disana. Baru selanjutnya kita bisa melakukan diagnosa dan semoga sekalian solusinya. 🙂

Kita awali dulu dengan mencari tahu dalam satu server direktori apa saja yang berukuran besar. Ini hal yang sangat mudah, tinggal anda eksekusi perintah berikut:

du -ahx / | sort -rh | head -10

Nanti hasilnya akan mirip seperti ini:

1.2G	/
918M	/usr
304M	/usr/local/lsws
304M	/usr/local
263M	/usr/lib
237M	/var
227M	/usr/local/lsws/DEFAULT
212M	/usr/share
120M	/usr/local/lsws/DEFAULT/html
117M	/usr/bin

Akan diurutkan berdasarkan ukuran foldernya, jadi kita akan langsung tahu dimana saja yang patut dicurigai. Perintah ini saya batasi cuma 10, tapi bisa anda gantikan ke angka yang lebih besar dengan mengubah nilai parameter perintah head diatas.

Kita lanjutkan dengan menyisir seluruh direktori yang ada dan mencari 10 file yang berukuran lebih dari 10MB:

find / -xdev -type f -size +10M -exec du -sh {} ';' | sort -rh | head -n10

Sebenarnya dulu saya pernah membahas hal yang mirip tapi dengan format perintah yang agak berbeda. 😛

Kurang lebih akan seperti ini tampilannya:

95M	/usr/lib/locale/locale-archive-rpm
59M	/var/lib/mysql/ibdata1
50M	/usr/lib/libmysqld.so.18
29M	/var/cache/yum/i386/6/base/27c84f25664a218c9c0df304facd771dd951189814c502465a8dad11f0bc27c9-filelists.sqlite
24M	/usr/lib/galera/libgalera_smm.so
22M	/var/cache/yum/i386/6/updates/05dea19459a656a8d5da1b0a457e0dbc6ad64404017aeb8128042a2103a9c619-primary.sqlite
22M	/var/cache/yum/i386/6/epel/bc58fd85a9df66f6ce9d151e0d8b3e22949ffed1f3dd708e9d4eff737116e4ee-primary.sqlite
19M	/usr/share/GeoIP/GeoLiteCityv6.dat
19M	/usr/share/GeoIP/GeoLiteCity.dat
16M	/var/cache/yum/i386/6/base/fcfba1250cc59dec64e5a149d902945a8d233ab54f2d964d2f55e6fb91240335-primary.sqlite

Sama, akan diurutkan berdasarkan ukuran terbesar. Dan tentunya bisa anda modifikasi berapa besar minimal filenya, gantikan angka pada parameter -size kalau kurang spesifik menurut anda.

Berdasarkan data – data yang muncul memanfaatkan kombinasi kedua perintah diatas niscaya kita tahu langkah pertama untuk diagnosanya.

Semoga bermanfaat. 🙂

4 Comments

  1. Thanks ya post nya mas..
    masih sering gue buka nih.. karena tiba2 size vps ku full.. ntah dari mana masalahnya..

    mungkin gue harus set off buat log apache ya.. ada ngaruh ga yah?

    thanks yaaa

    1. Haha idem mas Aziz 😀 Lah tiba – tiba dapat warning dari NewRelic kalau disk spacenya sudah 90%. Padahal ini isinya cuma website biasa, walaupun ada 10an. Masa 5GB habis dalam 2 minggu?

      Efeknya ya mas tidak bisa membaca catatannya bila ada error. Saya berani matikan karena situs penyebabnya tidaklah penting dan pengunjungnya sangat minim sekali. Cuma company profile milik klien. 🙂

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *