当前位置: 技术问答>linux和unix
linux 缓存
来源: 互联网 发布时间:2017-01-14
本文导语: 在Linux下删除一个文件,这个文件删除成功了 然后在创建一个跟原文件名一样的文件,这时候新文件里有删除前的原始数据。这是怎么整的??这个数据在缓存里? 是不是这个数据在内存里存着,然后往这个文件里...
在Linux下删除一个文件,这个文件删除成功了
然后在创建一个跟原文件名一样的文件,这时候新文件里有删除前的原始数据。这是怎么整的??这个数据在缓存里?
是不是这个数据在内存里存着,然后往这个文件里写?
然后在创建一个跟原文件名一样的文件,这时候新文件里有删除前的原始数据。这是怎么整的??这个数据在缓存里?
是不是这个数据在内存里存着,然后往这个文件里写?
|
是不是这个文件你删除时还有文件在处理,还有linux下rm删除文件并不是真删除,文件的inode还存在~
|
说错了,是数据库还存在,rm只是释放了该文件所占用的索引节点inode
|
有进程在持续写log
|
可能是还有别的进程再写这个文件吧?
|
执行一下sync,在看一下。如果还有文件,就可能有其他文件还在读写。
|
应该是某个进程还在控制着这个文件,并且在不停的边写而且定时保存……
可能LZ刚删除,建立完文件,就被其他进程把文件给覆盖了……
LZ可以使用lsof或者fuser看看谁在控制这个文件……
另外……
LS的说法需要纠正,文件保存是将内存数据写入缓冲区(虽然看上去是直接写入硬盘),sync是将缓冲区的数据和硬盘同步,所以,sync根本不可能替代文件保存的功能,如果你没有保存过文件,无论你sync多少次,这个文件都不会在目录中出现(或者被更改)……
可能LZ刚删除,建立完文件,就被其他进程把文件给覆盖了……
LZ可以使用lsof或者fuser看看谁在控制这个文件……
另外……
LS的说法需要纠正,文件保存是将内存数据写入缓冲区(虽然看上去是直接写入硬盘),sync是将缓冲区的数据和硬盘同步,所以,sync根本不可能替代文件保存的功能,如果你没有保存过文件,无论你sync多少次,这个文件都不会在目录中出现(或者被更改)……
|
额,这个还没有注意过,下次试一下
|
lsof filename 显示打开指定文件的所有进程