By Sangamesh B Satihal, Oracle DBA
Linux divides its physical RAM (random access memory)
into chucks of memory called pages. Swapping is the process whereby a page of
memory is copied to the preconfigured space on the hard disk, called swap
space, to free up that page of memory. The combined sizes of the physical
memory and the swap space is the amount of virtual memory available.
Swapping is necessary for two important reasons. First,
when the system requires more memory than is physically available, the kernel
swaps out less used pages and gives memory to the current application (process)
that needs the memory immediately. Second, a significant number of the pages
used by an application during its startup phase may only be used for
initialization and then never used again. The system can swap out those pages
and free the memory for other applications or even for the disk cache.
However, swapping does have a downside. Compared to
memory, disks are very slow. Memory speeds can be measured in nanoseconds,
while disks are measured in milliseconds, so accessing the disk can be tens of
thousands times slower than accessing physical memory. The more swapping that
occurs, the slower your system will be. Sometimes excessive swapping or
thrashing occurs where a page is swapped out and then very soon swapped in and
then swapped out again and so on. In such situations the system is struggling
to find free memory and keep applications running at the same time. In this
case only adding more RAM will help.
Linux has two forms of swap space: the swap partition and
the swap file. The swap partition is an independent section of the hard disk
used solely for swapping; no other files can reside there. The swap file is a
special file in the filesystem that resides amongst your system and data files.
To see what swap space you have, use the command swapon
-s.
The output will look something like this:
Filename Type
Size Used Priority
/dev/sda5
partition 859436 0
-1
Each line lists a separate swap space being used by the
system. Here, the 'Type' field indicates that this swap space is a partition
rather than a file, and from 'Filename' we see that it is on the disk sda5. The
'Size' is listed in kilobytes, and the 'Used' field tells us how many kilobytes
of swap space has been used (in this case none). 'Priority' tells Linux which
swap space to use first. One great thing about the Linux swapping subsystem is
that if you mount two (or more) swap spaces (preferably on two different
devices) with the same priority, Linux will interleave its swapping activity
between them, which can greatly increase swapping performance.
No comments:
Post a Comment