Home >System Tutorial >LINUX >Summarize the various methods of checking memory usage under Linux
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
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!