引入
在计算机概论中,我们介绍过,所有的数据要写到内存中才能够被CPU处理。如果,数据不断地在内存与磁盘简进行写入和读取,会导致效率很低,因此,部分数据没有直接写入硬盘,而是存在内存中,等到后面一次性写入硬盘
异步处理
1.基本概念
当系统加载一个文件到内存中后
如果该文件没有被修改过,则在内存区段的文件数据会被设置为“干净”(clean)
如果内存中的文件数据被更改过,则此文件数据会被设置为“脏的”(dirty),此时所有的操作都还在内存中执行,并没有写入到磁盘中
系统会时不时的将内存中的dirty数据写回磁盘,以保持磁盘与内存数据的一致性。(当然,你也可以使用sync命令将数据强制写入磁盘)
2.Linux文件系统与内存的关系
通过上面我们可以了解到,Linux文件系统与内存有很大的关系,关系如下
系统会将常用的文件数据放置到内存的缓冲区,以加速文件系统的读写操作
承上,因此,Linux的物理内存最后都会被用光,这是正常的情况,可加速系统性能
你可以手动使用sync命令来强制内存中设置为dirty的文件会写到磁盘中
若正常关机,关机命令会主动调用sync来将内存的数据会写入磁盘中
若不正常关机,由于数据尚未会写到磁盘中,因此重新启动后可能会花很多时间在进行磁盘校验,甚至可能导致文件系统的损坏(非磁盘损坏)
---------------------
原文:https://blog.csdn.net/qq_41453285/article/details/86694519