diff options
Diffstat (limited to 'sag-0.6.1-www/sag-0.6.1.html/x1532.html')
-rw-r--r-- | sag-0.6.1-www/sag-0.6.1.html/x1532.html | 231 |
1 files changed, 231 insertions, 0 deletions
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x1532.html b/sag-0.6.1-www/sag-0.6.1.html/x1532.html new file mode 100644 index 0000000..0740351 --- /dev/null +++ b/sag-0.6.1-www/sag-0.6.1.html/x1532.html @@ -0,0 +1,231 @@ +<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN"> +<HTML +><HEAD +><TITLE +>Allocating swap space</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet"><LINK +REL="HOME" +TITLE="The Linux System Administrators' Guide" +HREF="book1.html"><LINK +REL="UP" +TITLE="Memory Management" +HREF="c1450.html"><LINK +REL="PREVIOUS" +TITLE="Sharing swap spaces with other operating systems" +HREF="x1529.html"><LINK +REL="NEXT" +TITLE="The buffer cache" +HREF="x1551.html"></HEAD +><BODY +BGCOLOR="#FFFFFF" +TEXT="#000000" +><DIV +CLASS="NAVHEADER" +><TABLE +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="3" +ALIGN="center" +>The Linux System Administrators' Guide</TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="bottom" +><A +HREF="x1529.html" +>Prev</A +></TD +><TD +WIDTH="80%" +ALIGN="center" +VALIGN="bottom" +>Chapter 5. Memory Management</TD +><TD +WIDTH="10%" +ALIGN="right" +VALIGN="bottom" +><A +HREF="x1551.html" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="SWAP-ALLOCATION" +>Allocating swap space</A +></H1 +><P +>Some people will tell you that you should allocate twice as much + swap space as you have physical memory, but this is a bogus rule. + Here's how to do it properly: + + <P +></P +><UL +><LI +><P +> Estimate your total memory needs. This is the largest + amount of memory you'll probably need at a time, that is the + sum of the memory requirements of all the programs you want to + run at the same time. This can be done by running at the same + time all the programs you are likely to ever be running at the + same time. </P +><P +>For instance, if you want to run X, you should allocate + about 8 MB for it, gcc wants several megabytes (some + files need an unusually large amount, up to tens of + megabytes, but usually about four should do), and so on. + The kernel will use about a megabyte by itself, and the + usual shells and other small utilities perhaps a few + hundred kilobytes (say a megabyte together). There is + no need to try to be exact, rough estimates are fine, + but you might want to be on the pessimistic side.</P +><P +>Remember that if there are going to be several people + using the system at the same time, they are all going + to consume memory. However, if two people run the same + program at the same time, the total memory consumption + is usually not double, since code pages and shared + libraries exist only once.</P +><P +>The <B +CLASS="COMMAND" +>free</B +> and <B +CLASS="COMMAND" +>ps</B +> + commands are useful for estimating the memory needs. + + </P +></LI +><LI +><P +>Add some security to the estimate in step 1. This is because + estimates of program sizes will probably be wrong, because + you'll probably forget some programs you want to run, and to + make certain that you have some extra space just in case. A + couple of megabytes should be fine. (It is better to allocate + too much than too little swap space, but there's no need to + over-do it and allocate the whole disk, since unused swap space + is wasted space; see later about adding more swap.) Also, + since it is nicer to deal with even numbers, you can round the + value up to the next full megabyte.</P +></LI +><LI +><P +>Based on the computations above, you know how much memory + you'll be needing in total. So, in order to allocate swap + space, you just need to subtract the size of your physical + memory from the total memory needed, and you know how much + swap space you need. (On some versions of UNIX, you need to + allocate space for an image of the physical memory as well, so + the amount computed in step 2 is what you need and you shouldn't + do the subtraction.)</P +></LI +><LI +><P +>If your calculated swap space is very much larger than your + physical memory (more than a couple times larger), you should + probably invest in more physical memory, otherwise performance + will be too low.</P +></LI +></UL +> + + </P +><P +>It's a good idea to have at least some swap space, even if + your calculations indicate that you need none. Linux uses + swap space somewhat aggressively, so that as much physical + memory as possible can be kept free. Linux will swap out + memory pages that have not been used, even if the memory + is not yet needed for anything. This avoids waiting for + swapping when it is needed: the swapping can be done + earlier, when the disk is otherwise idle.</P +><P +>Swap space can be divided among several disks. This + can sometimes improve performance, depending on the + relative speeds of the disks and the access patterns + of the disks. You might want to experiment with a few + schemes, but be aware that doing the experiments + properly is quite difficult. You should not believe + claims that any one scheme is superior to any other, + since it won't always be true. + </P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="x1529.html" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="book1.html" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="x1551.html" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Sharing swap spaces with other operating systems</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="c1450.html" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>The buffer cache</TD +></TR +></TABLE +></DIV +></BODY +></HTML +>
\ No newline at end of file |