Penguin
Diff: HowToSmallMemory
EditPageHistoryDiffInfoLikePages

Differences between current version and revision by previous author of HowToSmallMemory.

Other diffs: Previous Major Revision, Previous Revision, or view the Annotated Edit History

Newer page: version 2 Last edited on Friday, October 29, 2004 4:28:12 am by StuartYeates
Older page: version 1 Last edited on Friday, June 7, 2002 1:07:35 am by perry Revert
@@ -1,224 +1 @@
-Small Memory mini-HOWTO  
-!!!Small Memory mini-HOWTO  
-!Todd Burgess  
-  
- tburgess@uoguelph .ca  
-  
-  
-  
-2000-12-12  
-  
-  
-__Revision History__Revision .12000-12-01Revised by: tb  
-  
-  
-  
-  
-  
-Describes how to run Linux on a system with a small amount of  
-memory.  
-  
-  
-  
-  
-  
-----; __Table of Contents__; 1. Introduction; 2. Linux Kernel; 3. Virtual Consoles; 4. Daemons: ; 4.1. inetd; 4.2. lpd; 4.3. nfsd and mountd; 4.4. portmap; 4.5. sendmail; 4.6. others; 5. Conclusions----  
-!!!1. Introduction  
-  
-Assuming buying more memory is out of the question there are many  
-things you can do to tighten up memory usage in Linux.  
-  
-  
-  
-Many Linux distributions out of the box are quite bloated from a  
-memory perspective. They run more services and offer more features than most of  
-us will ever need. By removing many of these services you can free up several  
-megabytes of real memory.  
-  
-  
-  
- My own system is a 486DX2-66 with 12MB of physical memory and 12MB  
-of swap space. It has run Linux for the last 3 years quite happily, and  
-hopefully it will run Linux for several more years. :)  
-  
-----  
-!!!2. Linux Kernel  
-  
-All the Linux kernels which come with distributions are quite  
-bloated and contain more features than any of us will ever need or use. If you  
-have not re-compiled your own kernel, it is highly recommended that you do so.  
-How to re-compile a kernel is beyond the scope of this document, but many  
-excellent Linux books and guides cover this subject in intimate detail.  
-  
-  
-  
-If you do re-compile your kernel, remember to put in no more  
-features than you need. For instance: how many of you include PLIP support in  
-your kernel? How many of you who include it actually use it? Smaller kernels  
-require less time to load, use less memory, and use less CPU cycles.  
-  
-  
-  
-Another thing is modules. I personally do not use them because I  
-found them to be a cumbersome. If you use them and like them then they can help  
-to relieve "kernel bloat."  
-  
-----  
-!!!3. Virtual Consoles  
-  
-VCs are a great way to free up memory. Most Linux distributions run  
-about 6 of them out of the box. On average running 6 VCs requires about 4MB of  
-memory. Removing a couple of them can free up a couple MBs of memory. Most  
-users can get away with running only 3 or 4 VCs. How many you choose to remove  
-is a matter personal preference. Just remember that the fewer you run, the more  
-memory your applications will have to run.  
-  
-  
-  
-The file which outlines how many VCs get loaded is  
-/etc/inittab. In order to remove VCs:  
-  
-  
-  
-  
-  
-  
-#  
-  
-Load /etc/inittab in a text  
-editor.  
-  
-  
-#  
-#  
-  
-Look for a line which looks like the following line (the key  
-feature being a line which starts with c1):  
-  
-  
-c1:12345:respawn:/sbin/getty tty1 38400  
-linux  
-  
-Start at the highest number (i.e. c6) and comment it out by  
-inserting a '#' in the first row. Repeat this step as many times as needed.  
-Remember every line you comment out is one less VC running.  
-  
-  
-#  
-#  
-  
-Re-boot the system for your changes to take effect.  
-  
-  
-#----  
-!!!4. Daemons  
-  
-Many Linux distributions run daemons most of us will never use.  
-Most of these daemons are loaded by scripts. Where these scripts are and what  
-they are called depends on your Linux distribution. Slackware set-up scripts  
-are buried in /etc/rc.d/rc.*.  
-  
-  
-  
-Before you proceed, a knowledge of Unix shell script programming  
-would be a definite asset. However, if you have no experience writing Unix  
-shell scripts, what follows is probably the quickest introduction to shell  
-script programming ever written.  
-  
-  
-  
-Take the following shell script:  
-  
-  
-#!/bin/sh echo "hello world"  
-#echo "good bye cruel world"  
-  
-The previous code will echo the string "hello world". Shell scripts  
-must contain the the line  
-  
-"#!/bin/sh" at the very top line.  
-After that every line is executed as if you had typed it at the keyboard (think  
-of shell scripts as nothing more then glorified keyboard macros).  
-  
-  
-  
-Lines which begin with a '#' are said to be commented out because  
-they do not get executed by the shell. Most start-up scripts when they load  
-daemons look like:  
-  
-  
-if somecondition  
-do something  
-fi  
-  
-What you want to do is comment out every line starting with the  
-if  
-statement and ending with the  
-fi statement.  
-  
-  
-  
-If you want to find where a daemon is loaded,  
-search the start-up scripts for the name of the daemon. If I wanted to find  
-where inetd is loaded in Slackware I would do the following:  
-  
-$ cd /edt/rc/d $grep -n inetd rd.*  
-  
-----  
-!!4.1. inetd  
-  
-inetd allows people to do things like __telnet__, __ftp__, and send __talk__  
-requests to your machine. If you never use your system as a server or need to  
-access any of its services remotely you can remove inetd.  
-  
-----  
-!!4.2. lpd  
-  
-lpd is used to print files on your printer using the  
-__lpr__ command. If you never print on your Linux  
-box you can remove lpd. If, however, you own a HP Deskjet (tm) printer and  
-would like to print, I highly recommend the package I put together called  
-dj-printcap which is available at:  
-  
-  
-  
-  
-ftp://sunsite.unc.edu/pub/Linux/system/Printing/dj-printcap.tar.gz  
-  
-  
-----  
-!!4.3. nfsd and mountd  
-  
-These two daemons are used to run an NFS server. If you never use  
-your Linux system as an NFS server you can safely remove these two daemons.  
-  
-  
-----  
-!!4.4. portmap  
-  
-The portmap daemon is used to handle RPC services. If you do not  
-run an NFS server or any other RPC programs you can remove portmap.  
-  
-----  
-!!4.5. sendmail  
-  
-sendmail is another daemon which requires a fair bit of memory.  
-If you never use your Linux box as a relay for sending e-mail or you never  
-receive mail on your Linux box, you can probably remove sendmail. If you do send  
-e-mail from your Linux box most e-mail clients can be set-up to send e-mail  
-from another mail server.  
-  
-----  
-!!4.6. others  
-  
-There may be other daemons your system starts up which you do  
-not need. Remove what you feel you have to. Two daemons which you must run are  
-syslogd and klogd.  
-  
-----  
-!!!5. Conclusions  
-  
-The previous discussion illustrates the steps I took to tighten up  
-my memory usage on my Linux box. Hopefully I have provided you with some  
-insight into what you can do with your Linux box to conserve memory. Good luck  
-and happy hacking!  
+Describe [HowToSmallMemory] here