Linux Memory Management

From NovaOrdis Knowledge Base
Revision as of 19:51, 17 December 2017 by Ovidiu (talk | contribs) (→‎Cache)
Jump to navigation Jump to search

Internal

Getting Information about Memory

Linux Memory Info

Java Linux Memory

Java Linux Memory

Swap

Swap is enabled at boot by the swapon command, which is invoked by the startup scripts if swap devices are listed in /etc/fstab.

Swap Info

Information about swap in use is available in /proc/swaps.

An indication that swap is enabled is whether top displays a non-zero total swap space.

Swappinness

Swappiness is a property for the Linux kernel that changes the balance between swapping out runtime memory, as opposed to dropping pages from the system page cache. Swappiness can be set to values between 0 and 100 inclusive. A low value means the kernel will try to avoid swapping as much as possible where a higher value instead will make the kernel aggressively try to use swap space. The default value is 60, and for most desktop systems, setting it to 100 may affect the overall performance, whereas setting it lower (even 0) may improve interactivity (by decreasing response latency.)

Value vm.swappiness = 0, Strategy: The kernel will swap only to avoid an out of memory condition.

Value vm.swappiness = 60 (default)

Value vm.swappiness = 100, Strategy: The kernel will swap aggressively which may affect over all performance.

Thrashing

The condition in which the content of the memory is swapped out only to be swapped back in.

Swap Operations

Buffers

Current value for memory allocated to buffers is available as /proc/meminfo buffers.

Cache

Current value for memory allocated to cache is available as /proc/meminfo cached.