How to Check Memory Usage on CentOS/RHEL
Linux has different set of commands to check the usage of memory. The free command shows the total amount of free and used physical and swap memory in the system, as well as the buffers used by the kernel. It is important to check memory usage so that resources do not fall short and users are able to access the server. Suppose a website is running form a webserver, then we require enough memory to serve the visitors to the site. If we have not enough memory then the site would become very slow or even go down when there is a traffic spike, simply because memory would fall short.
/proc/meminfo
You can check memory usage is to read the /proc/meminfo file. The same file is used to know the free and other utilities report of free and used memory (both physical and swap) on the system.
# cat /proc/meminfo or # egrep --color 'Mem|Cache|Swap' /proc/meminfo
Sample Output:
MemTotal: 7996284 kB MemFree: 5415608 kB Cached: 92416 kB SwapCached: 35924 kB SwapTotal: 8187836 kB SwapFree: 8059332 kB
free command
free command displays the total amount of free and used physical and swap memory in the system, as well as the buffers used by the kernel.
# free -m
Sample Output:
total used free shared buffers cached
Mem: 7808 2828 4980 6 37 100
-/+ buffers/cache: 2689 5119
Swap: 7995 124 7871
Note:
-b,-k,-m,-g: show output in bytes, KB, MB, or GB
-l: show detailed low and high memory statistics
-o: use old format (no -/+buffers/cache line)
-t: display total for RAM + swap
-s: update every [delay] seconds
-c: update [count] times
vmstat command
vmstat reports information about processes, memory, paging, block IO, traps, and cpu activity.
# vmstat
Sample Output:
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 2 127504 4907616 57828 114252 0 0 327 507 24 22 3 0 82 15 0
The vmstat command with the s option, lays out the memory usage statistics much like the proc command.
# vmstat -s
Sample Output:
7996284 total memory
3028732 used memory
2587708 active memory
253600 inactive memory
4967552 free memory
32212 buffer memory
97732 swap cache
8187836 total swap
127572 used swap
8060264 free swap
2629730 non-nice user cpu ticks
890 nice user cpu ticks
335618 system cpu ticks
80671997 idle cpu ticks
14269700 IO-wait cpu ticks
8 IRQ cpu ticks
12963 softirq cpu ticks
0 stolen cpu ticks
320259348 pages paged in
496267028 pages paged out
40038 pages swapped in
85154 pages swapped out
151875583 interrupts
278983792 CPU context switches
1438090342 boot time
300883 forks
atop command
The program atop is an interactive monitor to view the load on a Linux system. This program can display the amount of used and free memory, i.e. cpu, memory, disk and network.
# atop
htop command
It is similar to top, also allows you to see all the processes running on the system, with their full command lines.
# htop
top command
The top command show a real-time view of a running system. It can also display system summary information as well as a list of tasks currently being managed by the Linux kernel.
# top



