缓冲-buffer
buffer是为提高内存和硬盘(或其他I/O设备)之间的数据交换而设计的;把分散的写操作集中进行,减少磁盘碎片和硬盘的反腐寻道,从而提高系统性能。linux有一个守护进程定期清空缓冲内容(即将缓冲内容写入磁盘),也可以通过sync
命令手动清空缓冲。
缓存-cache
cache其实全称叫告诉缓存,是位于CPU和内存之间的一种容量较小但速度很高的存储器,是为提高cpu和内存之间的数据交换而设计的。
由于CPU的速度远高于内存,CPU直接从内存存取数据需要等待一定的时间周期,cache中保存着CPU刚用过或循环使用的数据,当CPU再次使用该部分数据时可以从cache中直接调用,这样就减少了CPU的等待时间,从而提高系统的效率。
cache经常被用在磁盘的I/O请求上,如果有多个进程都需要访问某个文件,于是该文件便被写入cache以便下次被访问,从而提高系统的性能。
缓存清理
有三种选项清除缓存而无需终端任何进程或服务
1.仅清除页面缓存(page cache)
echo 1 > /proc/sys/vm/drop_caches
这种方式较为安全
2.仅清除目录项高速缓存和索引节点告诉缓存(inode cache)
echo 2 > /proc/sys/vm/drop_caches
3.大清理:清除页面缓存,目录项,索引节点缓存
echo 3 > /proc/sys/vm/drop_caches
执行这条命令时需要明确知道自己在做什么(哈哈),在生产环境中不建议使用该命令
交换空间(swap space)
swap space是磁盘上的一块区域,可以是一个分区,也可以是一个文件,或者是他们的组合。交换分区的作用就是,当系统物理内存吃紧时,linux会将内存中不常访问的数据保存都swap中,这样系统就有更多的物理内存为各个进程服务,当系统需要访问swap上存储的内容时,再讲swap上的数据加载到内存中,这就是常说的swap out和swap in。
如果想要清除交换空间,可以运行下面的命令
swapoff -a && swapon -a
参考:https://blog.csdn.net/Tanswer_/article/details/80785783