Home>Article>Operation and Maintenance> What is the difference between buffer and cache in linux
Difference: 1. Buffer refers to the buffer area, and cache refers to the cache area; 2. Buffer is used to speed up the speed of data "writing" to the hard disk, while cache is used to speed up the "writing" of data from the hard disk. "Read" speed; 3. The buffer can reduce the waiting time for inter-process communication, and the Cache can reduce the waiting time of the CPU.
#The operating environment of this tutorial: linux5.9.8 system, Dell G3 computer.
Buffer in Linux
Buffer: Buffer, used to store data between devices with unsynchronized speeds or devices with different priorities; The buffer can reduce the waiting time for inter-process communication. When a device with fast storage speed communicates with a device with slow storage speed, the device with slow storage speed will first store the data in the buffer, and then the device with fast storage speed will read the buffer after reaching a certain level. During this period of data storage, the device's CPU can do other things.
Buffer: Generally used for writing to disk. For example: a process requires multiple fields to be read. When all required fields are read, the fields that have been read before will be placed in the buffer first. .
cache (cache area) in linux
Cache: Cache area, a high-speed cache, is a small-capacity but very fast cache located between the CPU and main memory. Fast memory, because the speed of the CPU is much higher than the speed of the main memory, the CPU needs to wait a long time to read data from the memory, and the Cache saves the data just used by the CPU or part of the data recycled. At this time Reading data from the Cache will be faster, reducing CPU waiting time and improving system performance.
Cache does not cache files, but caches blocks (blocks are the smallest units for I/O reading and writing); Cache is generally used for I/O requests. If multiple processes want to access a certain file, you can read this file into the Cache, so that the next process obtains CPU control and accesses this file to read directly from the Cache, improving system performance.
The difference between buffer and cache:
Cache is to save the most commonly used data when reading data from the hard disk. In the cache area of the memory, when the data is read again, it is not read from the hard disk, but read from the cache.
Buffering (buffer) means that when writing data to the hard disk, the data is first put into the buffer, and then written to the hard disk together, which concentrates scattered write operations and reduces disk fragmentation and hard disk duplication. seek, thus improving system performance.
To put it simply, the cache is used to speed up the "reading" of data from the hard disk, while the buffer (buffer) is used to speed up the "writing" of data to the hard disk.
Related recommendations: "Linux Video Tutorial"
The above is the detailed content of What is the difference between buffer and cache in linux. For more information, please follow other related articles on the PHP Chinese website!