千赢娱乐手机登录_ qy8com千赢手机版_千赢网页手机版
做最好的网站

千赢娱乐手机登录

当前位置:千赢娱乐手机登录 > 千赢娱乐手机登录 > 强制将内存中的文件缓冲内容写到磁盘,Linux终端

强制将内存中的文件缓冲内容写到磁盘,Linux终端

来源:http://www.modeLspro.net 作者:千赢娱乐手机登录 时间:2019-07-18 04:11

每次进入Ubuntu系统,总提示"电池可能已损坏"或电量过低什么的。

1、strace

用途说明
Linux内核为了达到最佳的磁盘操作效率,会把需要写入到磁盘的数据现在内存中缓存起来,在合适的时候才真正写入到磁盘中,这在绝大多数情况都是没有任何问题的,而且提高了系统的效率,但是如果系统当机、掉电,就会有些文件内容不会保存下来。在Linux系统关机或者重启时,会自动把缓冲区的内容自动同步到磁盘中。我们也可以手工去执行sync命令,强制将内存中的文件缓冲内容写到磁盘,这个命令是通过调用sync系统调用来实现的。(flush file system buffers。Synchronize data on disk with memory。Force changed blocks to disk, update the super block.`sync' writes any data buffered in memory out to disk.  This can include (but is not limited to) modified superblocks, modified inodes, and delayed reads and writes.  This must be implemented by the kernel; The `sync' program does nothing but exercise the `sync' system call.   The kernel keeps data in memory to avoid doing (relatively slow) disk reads and writes.  This improves performance, but if the computer crashes, data may be lost or the file system corrupted as a result. The `sync' command ensures everything in memory is written to disk.)但是,我认为一般情况下我们是没有必要去执行这个命令的,因为Linux内核会尽快让内存中的数据自动同步到磁盘上去,而且,谁又会知道什么时候会掉电或当机呢?

放电也不好使。

这个功能很强大,能够看到很多底层调用,便于分析问题

常用方式
格式:sync

强制将内存中的文件缓冲内容写到磁盘,Linux终端下调试C语言技巧。解决:

举例:

强制将内存中的文件缓冲内容写到磁盘。

终端输入:

[wangbin@localhost pas]$ strace -p 10472
Process 10472 attached - interrupt to quit
强制将内存中的文件缓冲内容写到磁盘,Linux终端下调试C语言技巧。futex(0x4113be8, FUTEX_强制将内存中的文件缓冲内容写到磁盘,Linux终端下调试C语言技巧。WAIT, 10482, NULL
强制将内存中的文件缓冲内容写到磁盘,Linux终端下调试C语言技巧。 <unfinished ...>
Process 10472 detached

强制将内存中的文件缓冲内容写到磁盘,Linux终端下调试C语言技巧。使用示例
示例一
[root@www.linuxidc.com ~]# sync
[root@www.linuxidc.com ~]#  

gconf-editor

我们可以看出这个进程已经死锁了,所以strace命令非常有用,特别是网络程序

示例二
问题思考

然后定位到:

2、tcpdump

  1. 在以前使用Unix(SCO Unix, Sun OS)的时候,那些人教我们使用sync命令,所以记住了它,有些文章也说在关闭或重启系统之前要多次执行sync命令,有的说要2此,有的说最好4次。各位看官,你们怎么看待这个问题,欢迎留言赐教。

本文由千赢娱乐手机登录发布于千赢娱乐手机登录,转载请注明出处:强制将内存中的文件缓冲内容写到磁盘,Linux终端

关键词:

上一篇:开发环境安装,Shell中的美元符号

下一篇:没有了