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:

echo 16384 > /proc/sys/fs/inotify/max_user_watches

atau dengan menambah baris berikut di file /etc/sysctl.conf:

fs.inotify.max_user_watches=16384

Solusi di atas belum memuaskan. Saya perlu mencari proses apa yang menggunakan banyak Inode, namun bisa jadi tidak diperlukan. Server Linux Ubuntu harus dioptimalkan. Program-program yang tidak perlu di-uninstall, tanpa mengganggu kerja server dan kemudahan pengelolaannya.

Perintah berikut dijalankan untuk melihat 10 proses yang memakan Inode terbanyak:

$ lsof | awk '{ print $2; }' | sort -rn | uniq -c | sort -rn | head
   2340 9057
    240 987
    126 962
    106 29259
    106 29251
    105 31949
    105 21522
    104 32031
    104 21510
    104 19960

Terlihat proses dengan pid 9057 membuka 2340 Inode. Cek dengan perintah ps berikut:

$ ps -ax | grep 9057
9057 ?        Sl     0:00 /usr/sbin/console-kit-daemon --no-daemon

Proses 9057 adalah milik program console-kit-daemon. Program console-kit-daemon ini hanya diperlukan untuk mode grafis. Jadi, untuk server console-kit-daemon ini dapat dihapus.

$ sudo apt-get remove dbus-x11 consolekit
$ sudo apt-get autoremove

Satu optimasi telah selesai dilakukan. Optimasi berikutnya akan menunggu.

Leave a Reply

Your email address will not be published. Required fields are marked *


*

This blog is kept spam free by WP-SpamFree.