这篇文章主要讲解了“linux中cached和buffers的区别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux中cached和buffers的区别”吧!
在linux下使用free命令查看内存使用情况,有buffers和cached两项,以下是它们的区别:
cached是cpu与内存间的,buffer是内存与磁盘间的,都是为了解决速度不对等的问题
buffer是即将要被写入磁盘的,而cache是被从磁盘中读出来的
buffer :作为buffer cache的内存,是块设备的读写缓冲区
cache:作为page cache的内存, 文件系统的cache
如果 cache 的值很大,说明cache住的文件数很多。如果频繁访问到的文件都能被cache住,那么磁盘的读IO 必会非常小
buffers是为块设备设计的缓冲。比如磁盘读写,把分散的写操作集中进行,减少磁盘I/O,从而提高系统性能。比如入U盘里cp一个文件,但是U盘读写指示灯未闪动,过了一会儿才闪动。卸载时会清空缓冲,所以有时卸载一个设备需要等待几秒。
cached是缓存读取过的内容,下次再读时,如果在缓存中命中,则直接从缓存读取,否则读取磁盘。由于缓存空间有限,过一段时间以后没用的缓存会被移动到swap里面,所以有时看到物理内存还有很多,swap就被利用了。
感谢各位的阅读,以上就是“linux中cached和buffers的区别”的内容了,经过本文的学习后,相信大家对linux中cached和buffers的区别这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!