Linux sync命令的作用分析
-
Sync命令在用reboot命令启动unix系统后,系统提示出错信息,部分应用程序不能正常工作。经仔细检查系统文件,并和初始的正确备份进行比较,发现某些文件确实被破坏了,翻来覆去找不到文件遭破坏的原因,最后想到了写缓存命令——sync,在reboot前没有运行sync命令,导致了系统文件的改变而不能正常工作。 www.2cto.comsync命令的作用是,将有关文件系统的存储器常驻信息送入物理介质内。在暂停系统之前,比如要重新启动机器,一定要去执行sync命令。unix系统运行经验表明,为确保可靠起见,应执行两遍sync命令,这是因为sync命令完成时,并不保证信息实际写到了磁盘上,虽然已经执行了一遍这个命令。在执行sync命令以后,要等待磁盘工作灯灭了(假定有系统工作指示灯的话),再去真正暂停机器的运行或启动机器。unix系统遭受破坏是随时都可能发生的事情,因此在启动机器或关机之前一定要运行sync命令。记住在任何情况下,慎重地执行sync命令决不会有任何坏处 www.2cto.comumount时间过长,sync命令的使用有一个问题,比如 cp 一个文件到SD卡上,是不是首先先将这个文件写到SDRAM上,然后umount的时候再将SDRAM中的内容真正写SD卡上? 我umount的时候会过多一会才出现终端的提示符,根据写入文件的大小确定 umount的时间?后来查了一下资料,Linux文件系统更新是一个复杂的过程,当用户程序对文件系统进行修改以后,例如进行了写操作,文件数据把修改记录在内核缓冲中,在数据没有写到磁盘的时候,依然能够执行用户进程,所有数据的改变都在inode的内容中得到反映。磁盘的数据更新实际上是异步进行的,很有可能在写操作已经完成很长时间以后才真正对磁盘的数据进行更新。
sync命令强制把磁盘缓冲的所有数据写入磁盘,如果在没有把磁盘缓冲区的信息写入磁盘之前终止系统,则磁盘的文件系统就会处在一个不稳定的状态。而在正常模式下即使没有对分区进行umount的操作,在重启之前系统会调用sync命令强制把磁盘缓冲的所有数据写入磁盘,而在急救模式下必须对所挂的分区进行umount的操作,系统才会调用sync命令强制把磁盘缓冲的所有数据写入磁盘,请在急救模式下的朋友注意这个问题。其实“reboot -n(Don’t sync before reboot or halt)”在重启之前不用sync命令强制把磁盘缓冲的所有数据写入磁盘,就很能说明问题。 www.2cto.com
所以要 cp 完之后要执行 sync 命令将缓冲区的内容写到磁盘中,然后再umount 就不会出现延时了.经验证,采用此方法,延迟写入问题可以解决
Linux sync命令的作用分析的更多相关文章
- Linux sync命令的作用
adb shell sync 写缓存命令——sync 在用reboot命令启动unix系统后,系统提示出错信息,部分应用程序不能正常工作.经仔细检查系统文件,并和初始的正确备份进行比较,发现某些文件确 ...
- linux wc命令的作用。
Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数.字数.行数,并将统计结果显示输出. 1.命令格式: wc [选项]文件... 2.命令功能: 统计指定文件中的字节数. ...
- sync命令详解
转:https://blog.csdn.net/everything1209/article/details/50423679 1.谁和谁同步? 2.为什么要同步?复制移动的过程不是同步的吗,都发生了 ...
- linux source命令学习
1. linux source命令的作用? 我们可能经常需要修改到诸如/etc/profile,~/.bash_profile等这样的配置文件, 一方面我们希望所作的修改在当前的环境中立即生效: 另一 ...
- linux grep命令
linux grep命令1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expressio ...
- linux grep命令总结
风生水起善战者,求之于势,不责于人,故能择人而任势. 博客园 首页 新随笔 联系 订阅 管理 posts - 791, comments - 394, trackba ...
- Linux grep命令详解[备份]
linux grep命令 1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expressi ...
- linux grep命令(linux在文件中搜索内容)
转自:https://www.cnblogs.com/end/archive/2012/02/21/2360965.html linux grep命令 1.作用Linux系统中grep命令是一种强大的 ...
- Linux常用命令与详解
在Linux系统中文件删除.创建.更改等操作都是通过一个个不同的命令来完成我们想要的操作,那么什么是命令呢? 凡是在字符操作界面中输入的能够完成特定操作和任务的字符串都可以称为命令.严格来说,命令通常 ...
随机推荐
- 清理 Xcode 10 记录
1,清理 ~/Library/Developer/CoreSimulator/Devices 说明:该目录存放当前的所有模拟器,每个标识符代表一台机器,清理掉避免存在旧版本的模拟器缓存 执行: 关闭模 ...
- iOS-Cordova集成开发,已有项目集成cordova
iOS-Cordova集成开发,已有项目集成cordova 项目组准备开发一个APP,要求Android和iOS端页面完全一致,除了一个页面跟业务相关的不同,其他界面基本一致,因此,萌生一个想法,关于 ...
- Springboot 启动文件报错,原因是@ComponentScan写成了@ComponentScans
Springboot 启动文件报错,原因是@ComponentScan写成了@ComponentScans
- Mybatis-smart(Mybatis最终优化方案)
Hibernate: 我用了Hibernate一年多,可以说是饱经风雨,感受极深,Hibernate看似一个很好的框架,我简单说一下它的使用痛点, 1.作为开发人员,我们应该全新全意关注我们的功能业务 ...
- vux使用过程中遇到的问题
1.使用confirm.prompt组件时,ios下点击输入框很难获得焦点 解决思路:使用confirm.show方法,自定义content内容,show方法里面设置input的focus方法 let ...
- echarts 地图 免费离线js,json包分享
最近,项目中需要用到地图,由于项目的特殊性,只能使用内网获取数据. 然而,echarts官网上的离线地图包(http://echarts.baidu.com/download-map.html)早在一 ...
- mysql 基本的操作数据库命令
注意:命令操作都是分号结尾 1 .连接mysql: mysql -u 用户名 -p 密码 2.展示所有数据库: show databases; 3.进入数据库: use 数据库名字; 4. ...
- PHP 好用第三方库
PHP 好用第三方库 whoops 更好的php错误报告库 [github]:https://github.com/filp/whoops Whoops是一个易于处理和调试错误的PHP库 .它提供基于 ...
- Centos7.5搭建Hadoop2.8.5完全分布式集群部署
一.基础环境设置 1. 准备4台客户机(VMware虚拟机) 系统版本:Centos7.5 节点配置: 192.168.208.128 --Master 192.168.208.129 --Slave ...
- 回文词 (Palindromes,Uva401)
例题 3-3 回文词 (Palindromes,Uva401) 输入一个字符中,判断它是否为回文串以及镜像串.输入字符串保证不含数字0.所谓回文串,就是反转以后和原串相同,如abba和madam.所有 ...