summaryrefslogtreecommitdiff
path: root/sag-0.6.1-www/sag-0.6.1.html/x1532.html
diff options
context:
space:
mode:
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.html231
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