Top Document: SGI admin Frequently Asked Questions (FAQ) Previous Document: -15- How can I increase my swap space? Next Document: -17- Why is there no way to set up a RAM disk under IRIX? See reader questions & answers on this topic! - Help others by sharing your knowledge Date: 05 Jul 1994 00:00:01 EST Two terms whose meanings should already be clear: Physical swap space is an area on disk, either a partition or (in IRIX 5.x) a swap file. Virtual memory is the sum of physical memory and swap space. IRIX 3.x accepts a memory request only if enough virtual memory is free. Even if a process isn't using most of the memory it requested (which happens often, e.g. when a large process forks and execs a small process, or with Fortran 77 programs which allocate all storage statically), its memory is unavailable to other processes until it exits. IRIX 3.x has no virtual or logical swap space. In IRIX 4.0.x, IRIX accepts every memory request, and does not allocate virtual memory until a process actually tries to use it. This allows programs which request more memory than they use to run with much less memory than would otherwise be required. If too many processes actually use their memory requests so that virtual memory is in danger of filling up, IRIX kills one or more processes. IRIX usually kills the process which is using the most virtual memory, which may well not be the process which most recently requested virtual memory. IRIX 5.x works like IRIX 4.0.x, but one can set the amount of virtual memory which IRIX is allowed to overallocate. This amount is called "virtual swap space". "Logical swap space" is the sum of physical and virtual swap. There is no virtual swap space by default, so IRIX 5.x behaves like IRIX 3.x. One can set virtual swap to any amount of memory; if it is set sufficiently high, memory requests will always be granted, just like IRIX 4.0.x. Using jargon retroactively, IRIX 4.0.x has an infinite amount of virtual swap space. Large or infinite amounts of virtual swap space work well for many people, because most programs don't use all the virtual memory they request, at least not at once. If your programs do use all their virtual memory, they'll be killed and you'll see "Process killed due to insufficient memory/swap" messages in your SYSLOG. Under IRIX 4.0.x, you can only turn virtual swap off completely by setting the kernel variable availsmem_accounting to 1. Doing so makes IRIX 4.0.x behave like IRIX 3.x, allocating memory only if it is actually available. Under IRIX 5.x, you can turn virtual swap on or off by doing 'chkconfig vswap off' or 'chkconfig vswap on', or change the size of virtual swap by editing /etc/config/vswap.options, and rebooting. You can also use 'swap -v' to do any of these things directly and without rebooting. Remember that IRIX 5.x comes with virtual swap turned off and set to zero. If you were happy with IRIX 4.0.x, you should turn virtual swap on and set its size to a very large number. If programs are killed, decrease the size of virtual swap or turn it off. See the swap(1M) and swapctl(2) manpages for details. User Contributions:Top Document: SGI admin Frequently Asked Questions (FAQ) Previous Document: -15- How can I increase my swap space? Next Document: -17- Why is there no way to set up a RAM disk under IRIX? Single Page [ Usenet FAQs | Web FAQs | Documents | RFC Index ] Send corrections/additions to the FAQ Maintainer: sgi-faq@viz.tamu.edu (The SGI FAQ group)
Last Update March 27 2014 @ 02:12 PM
|
Comment about this article, ask questions, or add new information about this topic: