博客
关于我
linux下的小知识
阅读量:301 次
发布时间:2019-03-01

本文共 1285 字,大约阅读时间需要 4 分钟。

目录

操作系统

free下的buff/cache

buff: 即写入磁盘时,先保存到磁盘缓冲区(buffer),然后再写入到磁盘。

cache: 即读磁盘时,数据从磁盘读出后,暂留在缓冲区(cache),为后续程序的使用做准备。

操作系统的角度: 这块内存确实被操作系统使用了。

用户角度: 如果用户要使用,这块内存是可以很快被回收而被用户空间程序使用,因此从用户角度而言这块内存应被划为空闲状态。
在这里插入图片描述
Linux内核会在内存将要耗尽的时候,触发内存回收的工作,以便释放出内存给急需内存的进程使用。一般情况下,这个操作中主要的内存释放都来自于对buffer/cache的释放。尤其是被使用更多的cache空间。既然它主要用来做缓存,只是在内存够用的时候加快进程对文件的读写速度,那么在内存压力较大的情况下,当然有必要清空释放cache,作为free空间分给相关进程使用。

这是Linux一种非常优秀的设计,目的就是为了提升磁盘IO的性能,从低速的块设备上读取的数据会暂时保存在内存中,即使数据在当时已经不再需要了,但在应用程序下一次访问该数据时,它可以从内存中直接读取,绕开了低速的块设备,从而提高系统的整体性能。

清除cache中的缓存

$echo 0 > /proc/sys/vm/drop_caches		#不释放缓存$echo 1 > /proc/sys/vm/drop_caches 		#表示清除pagecache。$echo 2 > /proc/sys/vm/drop_caches		#表示清除回收slab分配器中的对象(包括目录项缓存和inode缓存)。slab分配器是内核中管理内存的一种机制,其中很多缓存数据实现都是用的pagecache。$echo 3 > /proc/sys/vm/drop_caches		#表示清除pagecache和slab分配器中的缓存对象。

将buff中的数据刷到磁盘上

sync

测试

使用find查找文件:keystone-error.log

#首次查询$ time find / -name keystone-error.log/var/log/httpd/keystone-error.logreal	0m1.940suser	0m0.162ssys	0m0.875s#二次查询(此时数据以及被缓存了)$ time find / -name keystone-error.log/var/log/httpd/keystone-error.logreal	0m0.598suser	0m0.233ssys	0m0.362s#清除缓存$ echo 3 > /proc/sys/vm/drop_caches $ time find / -name keystone-error.log/var/log/httpd/keystone-error.logreal	0m1.160suser	0m0.205ssys	0m0.795s

在这里插入图片描述

由上面的小测试可以看出,在做重复的操作,或者打开重复的文件时,cache是对性能有很大的提升

转载地址:http://lcwl.baihongyu.com/

你可能感兴趣的文章
Nginx和Tomcat的区别
查看>>
Nginx在Windows上和Linux上(Docker启动)分别配置基本身份认证示例
查看>>
Nginx在Windows下载安装启动与配置前后端请求代理
查看>>
Nginx在开发中常用的基础命令
查看>>
Nginx基础知识点与使用场景梳理
查看>>
Nginx多域名,多证书,多服务配置,实用版
查看>>
nginx如何实现图片防盗链
查看>>
Nginx学习总结(10)——Nginx前后端分离将多个请求转发到多个Tomcat,负载均衡反向代理
查看>>
Nginx学习总结(11)——提高Nginx服务器的安全性,稳定性和性能的12种技巧
查看>>
Nginx学习总结(12)——Nginx各项配置总结
查看>>
Nginx学习总结(13)——Nginx 重要知识点回顾
查看>>
Nginx学习总结(14)——Nginx配置参数详细说明与整理
查看>>
Nginx学习总结(15)—— 提升 Web 应用性能的十个步骤
查看>>
Nginx学习总结(1)——Nginx入门简介
查看>>
Nginx学习总结(2)——Nginx手机版和PC电脑版网站配置
查看>>
Nginx学习总结(3)——Nginx配置及应用场景之高级配置
查看>>
Nginx学习总结(4)——负载均衡session会话保持方法
查看>>
Nginx学习总结(5)——Nginx基本配置备忘
查看>>
Nginx学习总结(7)——Nginx配置HTTPS 服务器
查看>>
Nginx学习总结(8)——Nginx服务器详解
查看>>