Category Archives: Linux

Optimasi OS Server Ubuntu

Sebenarnya tidak sengaja menemukan proses yang berjalan di server Ubuntu, yang memakan resource Inode (struktur data yang digunakan untuk menyatakan satu objek filesystem). Perubahan yang terjadi di filesystem dapat dideteksi oleh subsistem kernel Inotify (inode notify) yang dapat memberitahukan perubahan tersebut ke aplikasi.

Bermula dari perintah untuk melihat log proses secara realtime menggunakan 'tail -f'. Peringatan berikut muncul:

 $ tail -f /var/log/syslog
...
tail: inotify resources exhausted
tail: inotify cannot be used, reverting to polling

Perintah tail menggunakan Inotify untuk melihat perubahan isi file /var/log/syslog dan menampilkannya di layar. Pesan tersebut muncul karena resource Inode yang diperlukan oleh Inotify habis. Jumlah Inode maksimal dapat diset dari file /proc/sys/fs/inotify/max_user_watches.

$ cat /proc/sys/fs/inotify/max_user_watches
8192

Solusi sementara adalah dengan menambah nilai maksimal Inode (misalnya dengan 16384) berikut: Continue reading Optimasi OS Server Ubuntu

tmpfs atau ext2/ext3 untuk /tmp?

Direktori /tmp dan /var/tmp telah dibuat menggunakan disk loop untuk menampung file-file sementara dari daemon/service yang berjalan di server, misalnya server web Apache. Ada dua opsi filesystem yang bisa digunakan untuk disk loop ini, yaitu 1) menggunakan tmpfs dan 2) filesystem ext2/3.

Disk loop yang menggunakan tmpfs akan menyimpan file-file /tmp ke RAM, sedangkan ext2/3 file akan disimpan di disk loop tersebut akan menghemat RAM. Disk loop itu sendiri membutuhkan ruang penyimpan saat dibuat, misalnya 1 GB berikut:

$ sudo dd if=/dev/zero of=/var/tmpdisk bs=1K count=1000000

Berikut perilaku OS Linux Ubuntu jika disk loop /tmp menggunakan kedua tipe filesystem tersebut. Continue reading tmpfs atau ext2/ext3 untuk /tmp?

Program Stress Test untuk Beban Memori

Penasaran dengan apa yang dilakukan oleh setelan swappiness yang mengatur kecenderungan kernel untuk memindahkan proses dari memori ke disk swap, membawa saya untuk mencari program stress test yang dapat mengkonsumsi memori dengan besar yang dapat diatur. Dengan menjalankan program stress test tersebut, perilaku kernel dalam menempatkan proses (program yang dijalankan) ke memori (RAM) dan disk swap bisa diamati.

Kata kunci yang saya gunakan adalah “stress test memory linux”. Muncullah beberapa tautan halaman, di antaranya Linux: How to put a load on system memory? dan How to fill 90% of the free memory?. Dari kedua halaman tersebut, terdapat beberapa solusi di antaranya menggunakan skrip bash, python dan program.

Salah satu program yang bisa digunakan adalah stress. Program stress ini dapat memberikan beban CPU, memori dan disk ke sistem dengan tingkat yang diinginkan. Continue reading Program Stress Test untuk Beban Memori