Вы находитесь на странице: 1из 5

What is Linux Swap

The function of swap area, or swap space, is: releasing some space for the present
running programs when the physical internal storage is not enough. The released space is
mostly from the programs which have not being operated for a long time. This released
space is saved to Swap temporarily until the programs need to run again. Thus the system
only uses Swap to exchange when the physical storage is not enough. Actually
adjustment of Swap is very important for Linux, especially Web server. Through Swap,
some terrible troubles can be got through and system upgrade cost can be saved.
--Source from http://www.powerdatarecovery.com/data-recovery/linux-swap.html

As we all know that the modern operating systems have realized "virtual memory"
technology and it not only break through the limit of physical memory, which makes the
programs use more space than the
physical memory, it is also a security net
for isolating every program. That
protects every program from interrupted.
Users usually come to such trouble that
when using Windows, you try to switch
to one long time unoccupied program,
you will hear the hard disc making noise.
That is because the memory of this
program has been "stolen" by some
frequently running programs and has
been put into the Swap. Therefore, once
the program is placed to the front, it will
get its data back from the Swap and
then go on running. Generally if the
situation is that Swap partition is too small, or there is any need to create Linux Swap
partition or delete, format, it can be done by the professional partition management
software MiniTool Partition Wizard.
In addition, not all the data from the physical memory will be put into the Swap (if it is so,
Swap will collapse). A certain amount of data will be exchanged to file system directly.
For example, some programs will open some files to read or write (one program will
open at least one file---the program itself). When there is any need to exchange the
space of these prorams out, it can be directly placed at the files. If it is the read operation,
the memory data will be released directly because at the next time the data can be
recovered from the file system immediately. If it is the write operation, it only needs to
save the changed data to the file for the recovery. But the malloc and new function data
are different. They need the Swap space as they have no corresponding reservation files
in file system. They are called Anonymous memory data. This kind of data also includes
some state or variable data in the stack. So the Swap is the exchange space for
Anonymous data.
The Breakthrough of 128M Swap Limit
The Swap space is devided into pages. The size of every page equals to the memory
page. It is convenient for the exchange between Swap and memory. The old version Linux
uses the first page of Swap space as the Bit map of all the Swap space pages. That
means every bit of the first page corresponds to every page of Swap space. If the bit is 1,
it means this page is available; if it is 0, it means this page is bad block and cannot be
used. So the first Swap map should be 0, because the first page is the map page. Besides,
the last 10 bits are occupied to show the version of Swap (the original version is
Swap_space, now it is swapspace2). If the size of one page is s, this kind of realization
way can manage "8*(s-10)-1" Swap pages. For the i386 system the s equals 4096, so the
space is 133890048. If 1MB=2^20 Bytes, it is just 128M. Manage the Swap space like this

so that there will not be any bad blocks. If the system finds any bad blocks, it will mark 0
on the corresponding bit to show that this page is unavailable. So when using Swap, it
avoids bad blocks and errors.
Generally Swap space equals or is larger than physical memory and it should not be
smaller than 64M. It is usually 2-2.5 times larger than physical memory. But with the
different applications, it has different configurations: if it is the small desktop system, it
only needs smaller Swap space. And the large server system needs different Swap space
according to different situations. Especially the data base server and web server, with the
increasing visits, the requirement for the Swap space increses, too. Specific
configurations please refer to the product introductions of the servers.
Besides, the number of Swap partition has a great effect on the performance, because the
operation of Swap is the IO operation of disc. If there are a few Swap apsces, the
allocation of Swap space will be in an alternate way to apply to every Swap. That will
balance the load of IO and speed up the exchange of Swap. If there is only one Swap
space, all the exchange operation will make the space busy and the system be waiting for
a long time. The efficiency is very low. Use the performance monitor you will find the CPU
is not very busy but the system is still in low speed. That is the problem of IO. Speeding up
the CPU will not solve the problem.
System Performance Monitor
The allocation of Swap is important, but the performance monitor while system is running
is more worthwhile. Through the performance monitor, you can examine the entire
performance index of system and find the problem of system performance. This article
only introduces some related orders or usages of Solaries and Swap.
The most common order is Vmstat (most of Unix platforms have such order). This
order can examine most of performance index. For example:
# Vmstat 3
Procs memory Swap IO system CPU
R B W swpd free buff cache si so bi bo in cs us sy id
0 0 0 0 93880 3304 19372 0 0 10 2 131 10 0 0 99
0 0 0 0 93880 3304 19372 0 0 0 0 109 8 0 0 100
0 0 0 0 93880 3304 19372 0 0 0 0 112 6 0 0 100

Introduction of Orders:
The following parameter of Vmstat decides the interval of performance index capture. 3
means one capture every 3 second. The first line of data is worthless. It shows the
average performance after the starting up. From the second line it shows the system
performance index of every 3 second. Among these indexes the ones related to Swap are
the following:
W under procs
It shows the present (within 3 seconds) procedures number that need to release or
exchange.
Swpd under memory

It shows the space of Swap in use.


Si, so under Swap
Si shows the present (within 3 seconds) amount of exchanged data that Swap in every
one second in Kbytes. So shows the present (within 3 seconds) amount of exchanged
data that Swap out every one second in Kbytes.
The amount of index id bigger, the busier the system is. The system busy degree that
those indexes show is depended on the specific configuration of system. system manager
should record these indexes while the system is operating normally. Compare them with
theose when the system is wrong so that the problem will be soon found. Make a standard
index value of normally operating system for the performance monitor.
Besides, using Swapon-s can examine the service condition of Swap. For example:
# swapon-s
Filename Type Size Used Priority
/dev/hda9 partition 361420 0 3
It is convenient to see the occupied and unoccupied space of Swap.
Keep the load of Swap under 30% so that the system can keep its fine performance.
To enlarge the space of Swap:
1) Become the superuser
$su - root
2) Create Swap files
# dd if=/dev/zero of=swapfile bs=1024 count=65536
Create a exchange file with continuous space.
3) Activate Swap file
#/usr/sbin/swapon swapfile
Swapfile is the exchange file of last step.
4) Now the newly added Swap file is working. But after the reset, the former steps will not
be recoeded. So you should record the file name in etc/fstab and the type of Swap. For
example:
/path/swapfile none Swap sw,pri=3 0 0
5) check that if Swap file is added with
/usr/sbin/swapon -s
Delete the redundant Swap space.
1) Become the superuser
2) Use the order Swapoff to take back the Swap space
#/usr/sbin/swapoff swapfile
3) Edit etc/fstab file and take out the entity of this Swap file.
4) Take this file back from the file system.
#rm swapfile
5) Certainly, if this Swap space is not a single file but one partition, you need to create a
new file system and connect it to the original file system.

Вам также может понравиться