When the system encounters various IO bottlenecks, high memory usage, high CPU usage and other problems, how do we locate the error? Linux provides many commands to help us quickly locate errors. The free command is one of the most commonly used commands in Linux: it can view the system's memory status, including the server's total memory, used memory, and remaining unused memory, as well as the memory occupied by the buffer and cache. $ free -m total used free shared buffers cached Mem: 994 787 207 0 121 227 -/+ buffers/cache: 437 557 Swap: 0 0 0 To fully understand the above three lines of data, first understand what buffer and cache are. buffer: buffer Buffer the data to solve the handover problem between slow and fast speeds; the fast speed needs to pass the data bit by bit to the slow speed area through the buffer. For example: when writing data from memory to hard disk, it is not written directly, but buffered to a certain size and then flushed to the hard disk.
cache: cache To achieve data reuse, slow devices need to cache frequently used data, and the cached data can provide high-speed transmission to fast devices. For example: reading data from the hard disk and placing it in the cache area of the memory will allow the same resource to be accessed much faster in the future.
The buffer is used to store data to be output to the disk (block device), while the cache is used to store data read from the disk. Both are designed to improve IO performance. After understanding the role of buffer and cache, the information displayed by free is easy to understand. Now let's analyze the meaning of each line of the free command output: First row: Mem The total memory 994 (total) = 787 (used) + 207 (free), used indicates the memory that has been used by the system, which includes the memory used by the application and the sum of the memory used for buffering and caching. Second line: -/+ buffers/cache -buffers/cache: 437(used) = 787(used) - 121(buffers) - 227(cached), 437 means that excluding the memory consumed by buffers and caches, the actual memory consumed by the application is 437M. +buffers/cache: 557(free) = 207(free)+121(buffers)+cached(227), 557 means the system has 557M of available memory, because if there is a memory shortage, the memory occupied by buffers and cache can still be used by applications. Third row: Swap I have seen many articles that simply say no need to explain, but I want to explain here that Swap means swap partition, which is what we usually call virtual memory. You can use part of the disk space as memory. This space is called virtual memory. When the system memory is insufficient, the system will temporarily put those programs that are still resident in the memory but not currently running into the virtual memory. The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM. You may also be interested in:
|
<<: How to use CSS custom variables in Vue
>>: MySQL 8 new features: Invisible Indexes
Keepalived+Nginx+Tomcat to achieve high availabil...
The function has been implemented a long time ago...
[LeetCode] 185. Department Top Three Salaries The...
Preface: I recently encountered the problem of in...
Table of contents Install Tomcat Download Tomcat ...
Table of contents 1. Project Description 2. Nginx...
Preface After a long time of reading various mate...
Need to export the fields and properties of the t...
1. RTMP RTMP streaming protocol is a real-time au...
Table of contents Preface Creation steps Create a...
Database stored procedures DROP PROCEDURE IF EXIS...
Table of contents 1. How to locate and optimize s...
1. Environment and related software Virtual Machi...
js interesting countdown case, for your reference...
We often need to control the hidden, transparent ...