Small Memory Mini-HOWTO By Todd Burgess, tburgess@uoguelph.ca Diterjemahkan oleh: Yaya Heryadi, yheryadi@necnusa.co.id v 0.1 Terj. 5 Peb 1999 ____________________________________________________________ Table of Contents 1. Pendahuluan 2. Kernel Linux 3. (EM 4. Daemon 4.1 inetd 4.2 lpd 4.3 nfs dan mountd 4.4 portmap 4.5 sendmail 4.6 daemon lainnya 5. Kesimpulan ______________________________________________________________________ 1. Pendahuluan Tujuan penulisan mini HOWTO ini adalah untuk menjelaskan cara menjalankan Linux di dalam sebuah sistem yang memiliki sejumlah kecil memori. Dengan mengasumsikan bahwa penambahan memori merupakan suatu yang tidak memungkinkan maka banyak yang dapat Anda lakukan untuk mengurangi pemakaian memori di dalam Linux. Banyak distribusi Linux pada saat Anda baru terima sangat membengkak ditinjau dari sudut pandang memori. Linux tadi menjalankan lebih banyak servis dan karakteristik daripada yang kita butuhkan. Dengan menghilangkan beberapa servis tersebut maka Anda akan membebaskan beberapa megabyte dari real memory Anda. Sistem yang penulis miliki adalah sebuah komputer 486DX2-66 dengan memori fisik sebesar 12 MB serta ruang swap sebesar 12 MB. Sistem itu telah menjalankan Linux selama 3 tahun terakhir tanpa ada kesulitan dan diharapkan akan menjalankan Linux selama beberapa tahun lagi :) 2. Kernel Linux Semua kernel Linux yang dibawa oleh distribusi-distribusi Linux sangat membengkak dan berisi lebih banyak karakteristik daripada yang kita butuhkan. Jika Anda belum pernah melakukan kompilasi ulang terhadap kernel yang Anda miliki maka sangat disarankan agar Anda melakukannya. Cara untuk melakukan kompilasi ulang terhadap kernel berada diluar ruang lingkup dokumen ini namun banyak buku dan petunjuk Linux yang sangat bagus membahas masalah ini dengan sangat terperinci. Jika Anda melakukan kompilasi ulang terhadap kernel Anda maka perlu diingat untuk tidak memasukkan lebih banyak karakteristik dari yang Anda butuhkan. Misalnya: Berapa orang dari Anda yang memasukkan dukungan PLIP ke dalam kernel Anda? Berapa orang dari Anda yang memasukkan dukungan tadi benar-benar menggunakannya? Kernel yang berukuran lebih kecil membutuhkan waktu lebih sedikit untuk di-load, menggunakan lebih sedikit memori, dan menggunakan lebih sedikit CPU. Suatu hal yang lain adalah modul. Penulis pribadi tidak menggunakannya karena menurut penulis modul-modul itu sangat membebani, Jika Anda menggunakan modul-modul tersebut dan Anda menyukainya maka mereka akan membantu untuk menghilangkan "pembengkakan kernel" 3. Virtual Console (VC) VC merupakan suatu cara yang baik untuk membebaskan memori. Kebanyakan distribusi Linux pada saat Anda baru terima menjalankan sekitar 6 VC. Dengan menjalankan 6 VC maka dibutuhkan rata-rata sekitar 4 MB memori. Menghilangkan sejumlah VC akan membebaskan sejumlah MB dari memori. Kebanyakan pemakai dapat bekerja hanya dengan VC yang berjumlah 3 atau 4. Berapa banyak VC yang Anda hilangkan bergantung kepada pilihan pribadi Anda. Hanya perlu diingat bahwa semakin sedikit jumlah VC yang Anda jalankan maka akan semakin banyak memori yang dapat dijalankan oleh aplikasi-aplikasi yang Anda miliki. File yang menggambarkan berapa banyak VC yang di-load adalah file /etc/inittab. Untuk dapat menghapus VC maka: 1. Masukkan file /etc/inittab ke dalam sebuah text editor 2. Carilah suatu baris yang nampak seperti (karakteristik kunci dari baris itu adalah dimulainya dengan c1): c1:12345:respawn:/sbin/getty tty1 38400 linux Mulailah dari angka yang paling besar (misalnya c6) dan jadikanlah baris itu menjadi sebuah comment (comment out) dengan menambahkan sebuah '#' pada baris pertama. Ulangilah langkah ini sebanyak yang Anda inginkan. Ingatlah bahwa setiap baris yang anda jadikan baris comment akan mengurangi satu buah VC yang jalan. 3. Lakukan reboot terhadap sistem agar perubahan yang telah dilakukan tadi mulai berjalan. 4. Daemon Banyak distribusi Linux menjalankan banyak daemon yang tidak akan pernah digunakan oleh kebanyakan dari kita. Kebanyakan daemon-daemon itu di-load menggunakan script. Dimanakah letak script-script itu serta dipanggil sebagai apa script-script tersebut akan tergantung kepada distribusi Linux yang Anda miliki. Script untuk melakukan setup dari Slackware terdapat di dalam /etc/rc.d/rc.*. Sebelum Anda melanjutkan, suatu pengetahuan mengenai programming menggunakan UNIX shell script akan benar-benar merupakan suatu asset. Jika Anda tidak memiliki pengalaman dalam menulis UNIX shell script maka uraian berikut barangkali akan merupakan pengantar terhadap pemrograman dengan shell script yang paling singkat yang pernah ditulis. Perhatikan shell script berikut: #!/bin/sh echo "hello world" #echo "good bye cruel world" Script itu akan menampilkan kalimat "hello world". Shell script harus memiliki baris "!/bin/sh" pada baris paling atas. Sesudah baris itu maka setiap baris akan dieksekusi seperti halnya Anda mengetiknya pada keyboard (pandanglah shell script tidak lebih dari makro keyboard yang diperluas). Baris-baris yang dimulai dengan sebuah "#" dikatakan telah menjadi comment karena baris tersebut tidak akan dieksekusi oleh shell. Kebanyakan script untuk startup pada saat melakukan load daemon akan menyerupai: If somecondition do something fi Apa yang perlu Anda lakukan adalah menjadikan comment setiap baris yang dimulai dengan kalimat if dan diakhiri dengan kalimat fi. Jika Anda ingin menemukan di mana letak sebuah daemon di-load maka yang perlu Anda lakukan adalah mencari nama daemon di dalam script startup. Jika penulis ingin menemukan di mana inetd di-load di dalam Slackware maka penulis akan melakukan hal berikut: cd /etc/rc.d grep -n inetd rc.* 4.1. inetd inetd memungkinkan orang untuk melakukan beberapa hal seperti telnet, ftp, dan mengirimkan permintaan talk kearah komputer Anda. Jika Anda tidak pernah menggunakan sistem Anda sebagai sebuah server maupun berkeinginan untuk mengakses salah satu dari servis-servis tadi secara remote maka Anda dapat menghilangkan inetd. 4.2. lpd lpd digunakan untuk mencetak file-file ke dalam printer yang Anda miliki menggunakan perintah lpr. Jika Anda tidak pernah mencetak ke dalam komputer Linux Anda maka Anda dapat menghilangkan lpd. Namun, seandainya Anda memiliki sebuah printer HP deskjet dan berkeinginan untuk mencetak ke dalam printer tersebut maka penulis sangat menyarankan sebuah paket yang penulis namakan dj-printcap yang tersedia pada: 4.3. nfs dan mountd Kedua daemon itu digunakan untuk menjalankan sebuah NFS sever. Jika Anda tidak pernah menggunakan sistem Linux Anda sebagai sebuah NFS server maka Anda dapat menghilangkan kedua daemon itu dengan aman. 4.4. portmap daemon portmap digunakan untuk menangani servis-servis RPC. Jika Anda tidak menjalankan NFS server atau satupun program RPC maka Anda dapat menghilangkan portmap ini. 4.5. sendmail sendmail merupakan sebuah daemon yang membutuhkan memori dengan jumlah yang cukup besar. Jika Anda tidak pernah menggunakan komputer Linux Anda sebagai sebuah relay untuk pengiriman e-mail ataupun Anda tidak pernah menerima mail pada komputer Linux Anda maka Anda mungkin dapat menghilangkan sendmail. 4.6. daemon lainnya Mungkin ada daemon-daemon lain yang dijalankan oleh sistem Anda namun tidak pernah Anda gunakan. Hilangkan daemon manapun yang Anda rasa harus dihilangkan. Dua daemon yang Anda harus jalankan adalah syslogd dan klogd. 5. Kesimpulan Uraian di atas mengilustrasikan langkah-langkah yang penulis telah lakukan untuk melakukan pengetatan terhadap penggunaan memori di dalam komputer Linux penulis. Mudah-mudahan penulis telah memberikan Anda gambaran singkat mengenai apa yang Anda dapat lakukan pada komputer Linux Anda untuk menjaga penggunaan memori. Good luck and happy hacking Todd Burgess Tburgess@uoguelph.ca