Home >System Tutorial >LINUX >Summarize the various methods of checking memory usage under Linux

Summarize the various methods of checking memory usage under Linux

WBOY
WBOYforward
2024-02-11 16:21:31762browse

Memory is a key resource in a computer system, and it is even more crucial for the Linux operating system. But have you ever encountered out-of-memory problems or felt that your system's memory usage was inefficient? This article will give you an in-depth understanding of Linux memory-related concepts and principles, thereby helping you better manage and optimize system memory.

1./proc/meminfo

The easiest way to view RAM usage is through /proc/meminfo. This dynamically updated virtual file is actually a combination display of many other memory-related tools (such as: free / ps / top), etc. /proc/meminfo lists all the memory usage you want to know about. The memory usage information of the process can also be viewed through /proc//statm and /proc//status.

$ cat /proc/meminfo 
MemTotal:        8010436 kB
MemFree:         7514008 kB
MemAvailable:    7567204 kB
Buffers:             872 kB
Cached:           282844 kB
SwapCached:            0 kB
Active:           213156 kB
Inactive:         111632 kB
Active(anon):      41264 kB
Inactive(anon):    32888 kB
Active(file):     171892 kB
Inactive(file):    78744 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                32 kB
Writeback:             0 kB
AnonPages:         41088 kB
Mapped:            35936 kB
Shmem:             33080 kB
Slab:              66888 kB
SReclaimable:      48120 kB
SUnreclaim:        18768 kB
KernelStack:        1872 kB
PageTables:         2788 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     4005216 kB
Committed_AS:     272452 kB
VmallocTotal:   34359738367 kB
VmallocUsed:       22136 kB
VmallocChunk:   34359707388 kB
HardwareCorrupted:     0 kB
AnonHugePages:      4096 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:       79740 kB
DirectMap2M:     3065856 kB
DirectMap1G:     7340032 kB

2.atop

atop command is a terminal environment monitoring command. It shows a combination of various system resources (CPU, memory, network, I/O, kernel) and is color-coded under high load conditions.

$ sudo atop
Summarize the various methods of checking memory usage under Linux

3.free

The free command is a quick way to view memory usage and is an overview of the information collected by /proc/meminfo.

$ free -h

4.GNOME System Monitor

GNOME System Monitor is a view tool that displays the usage of CPU, memory, swap area and network in the recent period. It also provides a way to view CPU and memory usage.

$ gnome-system-monitor

5.htop

htop command displays the real-time memory usage of each process. It provides reports on the resident memory size of all processes, total program memory size, shared library size, etc. The list can be scrolled horizontally and vertically.

$ htop

6.KDE System Monitor

The functions are the same as the GENOME version introduced in 4.

$ ksysguard

7.memstat

memstat is a command that effectively identifies virtual memory usage by executable(s), process(es) and shared libraries. Given a process ID, memstat can list the executable files, data, and shared libraries associated with this process.

$ memstat -p

8.nmon

nmon is a system benchmarking tool based on ncurses, which can monitor the interactive mode of CPU, memory, I/O, file system and network resources. For memory usage, it can display total/remaining memory, swap space and other information in real time.

$ nmon

9.ps

ps command can display the memory usage of each process in real time. Reported memory usage information includes %MEM (percent of physical memory used), VSZ (totalamount of virtual memory used), and RSS (total amount of physical memory used). You can use the "-sort" option to sort processes, for example by RSS:

$ ps aux | sort -rss

Figure 8: Summary of methods to check memory usage under Linux

10.smem

The smem command allows you to count the memory usage of different processes and users based on /proc information. Analysis of memory usage can export charts (such as bar charts and pie charts).

smem  -P sshd -k
  PID User     Command                         Swap      USS      PSS      RSS 
  815 root     /usr/sbin/sshd                     0   868.0K   951.0K     1.3M 
14104 root     sshd: root@pts/0                   0     2.8M     3.5M     5.3M 
14292 root     python /usr/bin/smem -P ssh        0     5.1M     5.8M     7.2M 

11.top

The top command provides real-time resource usage statistics of running programs. You can sort based on memory usage and size.

$ top

12.vmstat

The vmstat command displays real-time and average statistics covering CPU, memory, I/O, etc. For example, memory status not only displays physical memory, but also counts virtual memory.

Through the study of this article, you have already understood the basic principles of Linux memory management, memory classification, viewing memory usage, and how to optimize system memory. At the same time, we also shared some practical memory management tools and techniques to help you further improve system performance and operating efficiency. I hope this article can inspire and help you!

The above is the detailed content of Summarize the various methods of checking memory usage under Linux. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:lxlinux.net. If there is any infringement, please contact admin@php.cn delete