In this article, we will show you:
- How to check your disk buffer and cache usage before and after releasing them?
- How to release disk buffer and cache?
How to Check
To check the disk buffer and cache usage, you can use Linux free command or read /proc/meminfo file. For example, here is the disk buffer and cache usage before their release:$ free -k
total used free shared buffers cached
Mem: 11790008 10241024 1548984 0 833088 8391724
-/+ buffers/cache: 1016212 10773796
Swap: 8191968 0 8191968
With "-k" option above, the space is displayed in KB. For example, the system has total 11 GB with 9 GB used and 1GB free. In the used space, it also counts the space used by disk buffers and caches. The second row in the display (i.e., "-/+ buffers/cache") shows the space when ignoring buffers and caches. For example, after counting buffers (i.e., 813MB) and caches (i.e., 8 GB) as free, the total free space becomes:
- 10773796 KB = 1548984 KB + 833088 KB + 8391724 KB
How to Release
To release disk buffers and caches used by the kernel, you need to be "root". Then the following one line command can do the work:# sync && echo 3 > /proc/sys/vm/drop_caches
First we run the sync command before dropping the cache. Doing this will ensure that all memory in the cache is updated and all dirty pages are synchronized before dropping the cache. The next step is echoing “3″ to the /proc/sys/vm/drop_caches file which will signal the kernel to release the pagecache, dentries and inodes.
After the commands, we can see some buffers and caches have been released by the kernel:
# free -k
total used free shared buffers cached
Mem: 11790008 6692304 5097704 0 940 5949888
-/+ buffers/cache: 741476 11048532
Swap: 8191968 0 8191968
Note that free command displays amount of free and used memory in the system by reading /proc/meminfo file. So, you can find the same information from that file.
1 comment:
Thanks, helpful!
Post a Comment