linux强刷cache,linux I/O stack cache 强制刷新

linux 存储子系统作为最为复杂的子系统之一,拥有很深的模块栈(如图),其中很多模块又有自己的缓存功能(如下图)。实际应用中,用户下发的数据停留在哪个缓存中,是否已经写入磁盘,这些操作对用户来说是个黑盒。如何确保数据已经写入磁盘,可以安全的复位或掉电设备,是用户比较关心的话题。

1cc8c7d6b99a5b70177664dc37f538d1.gif

linux IO cache stack中,除了上图中的page cache, inode cache, dir cache, buffer cache,还有fs journal、disk cache2种主要的缓存机制。

缓存操作主要分2种:1)刷新(flush,或者叫同步);2)清除(free,或者叫回收)。

下文列举一下以上缓存的主要操作方法。

# 同步系统或文件的page cache, inode cache, dir cache, buffer cache,但不回收。

# 另外,对于基于文件系统(文件操作)和不基于文件系统(如dd命令)访问磁盘同一block的2种方式,数据在buffer cache中分别cache,

# 所以基于文件系统对文件进行修改,就算sync,数据也不会同步到不基于文件系统访问磁盘同一block的buffer cache。

#

sync

fsync file

# 清除系统的已同步的page cache、buffer cache、dentries和 inode cache。

# 对于没有同步的dirty cache,drop_caches不会清除.

#

echo > /proc/sys/vm/drop_caches # 清除 page cache和buffer cache

echo >/proc/sys/vm/drop_caches # 清除 dentries和 inode cach

# sync + drop_caches 2个操作合并

#

hdparm -f /dev/sda2

# 对于有journal机制的ext3、ext4文件系统,

# 同步日志区并清空journal数据,同时也同步文件数据

#

umount /datadisk/

# 同步日志区并清空journal数据,但不同步文件的修改数据

#

mount -r -o remount /dev/sda2 /datadisk/

# 同步 disk buffer

#

hdparm -F /dev/sda2

--EOF--

jquery ui dialog弹出窗 清空缓存Cache或强制刷新

我用jquery ui 弹出一个购物车的对话,通过AJAX加载的数据.发现购物车被缓存,一直看到是旧数据.为了刷新购物车更新,我必须去加一个刷新按钮,点击后更新购物车页面.有没有一种方法来自动刷新加载 ...

ARM Linux 内核 panic 之cache 一致性 ——Cortex-A9多核cache和TLB一致性广播

ARM Linux 内核 panic 之cache 一致性 ——Cortex-A9多核cache和TLB一致性广播 Cortex-A9的多喝CPU可以接收和执行一致性广播操作,当其使能并处于SMP模式 ...

ARM Linux 内核 panic 之cache 一致性 ——cci-400 cache一致互联

ARM Linux 内核 panic 之cache 一致性 ——cci-400 cache一致互联 CCI-400 集合了互联和一致性功能,有 2 个 ACE slave 接口和 3 个 ACE-Li ...

[Web前端] mac chrome 浏览器强制刷新,清除浏览器缓存

本文链接:https://blog.csdn.net/zeroyulong/article/details/79806156 mac 强制刷新:command+shift+r mac 普通刷新:com ...

angularjs中关于当前路由再次点击强制刷新

angularjs中,有一个机制,就是当前路由再次点击的时候,不会再刷新页面,这实在是愁坏了包子,因为业务人员要求一定要刷新,于是我各种百度,然并卵....呜呜呜~~~~~ 于是乎,我就想到写指令了, ...

Linux 内核的文件 Cache 管理机制介绍

Linux 内核的文件 Cache 管理机制介绍 http://www.ibm.com/developerworks/cn/linux/l-cache/ 1 前言 自从诞生以来,Linux 就被不断完 ...

Linux停SVN提交时强制写日志

Linux下SVN提交时强制写日志 SVN默认可以不写注释提交,有时候可能忘记写注释,有的人也没有写注释的习惯,导致翻看history的时候都不知道做了哪些更改,可以依照以下步骤修改SVN配置,强制提 ...

Linux 内核的文件 Cache 管理机制介绍-ibm

https://www.ibm.com/developerworks/cn/linux/l-cache/ 1 前言 自从诞生以来,Linux 就被不断完善和普及,目前它已经成为主流通用操作系统之一,使 ...

随机推荐

ubuntu 永久设置dns信息

ubuntu 自从12.04后,会自动刷写 /etc/resolv.conf 文件,导致写入的dns信息会在重启的时候丢失. ============================ 转自:http: ...

Live555 实战之框架简单介绍

作者:咕唧咕唧liukun321 来自:http://blog.csdn.net/liukun321 上一篇文章简要介绍了怎样以共享库的方式交叉编译Live555,今天再来介绍live源代码框架. 先 ...

final、finally与finalize的区别

1. final  在java中,final可以用来修饰类,方法和变量(成员变量或局部变量).下面将对其详细介绍. 1.1 修饰类 当用final修饰类的时,表明该类不能被其他类所继承.当我们需要让一 ...

【Android】快速开发偷懒必备(二) 支持DataBinding啦~爽炸,一行实现花式列表[申明:来源于网络]

[Android]快速开发偷懒必备(二) 支持DataBinding啦~爽炸,一行实现花式列表[申明:来源于网络] 地址:http://blog.csdn.net/zxt0601/article/de ...

Ex 6_4 判断序列是否由合法单词组成..._第六次作业

设字符串为s,字符串中字符的个数为n,vi[i]表示前i+1个字符是否能组成有效的单词vi[i]=true表示能组成有效的单词,vi[i]=false表示不能组成有效的单词,在每个字符串前加一个空格, ...

如何查看目前正在使用的Windows10是哪个版本?

其实相当的简单: win+R 输入winver,就会出现如下图的信息: 就能看到版本信息了

vue中嵌套页面(iframe)

vue中嵌套iframe,将要嵌套的文件放在static下面.(要将打包文件整体放在statici里,我的文件名是canvas) src可以使用相对路径,也可使用服务器根路径http:localhos ...

[OPENSSL下载][证书] OPENSSL将PFX证书转换为PEM格式

OpenSSL Convert PFX Convert PFX to PEM openssl pkcs12 -in certificate.pfx -out certificate.cer -node ...

Android Animation 动画

动画类型 Android的animation由四种类型组成  Android动画模式 Animation主要有两种动画模式:一种是tweened animation(渐变动画) XML中 JavaCo ...

Django——META内部类选项

Django 模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性.以下对此作一总结: abstract      这个属性是定义当前的模型类是不是一个抽象类.所谓抽象类是不会对应 ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值