完成后,link / rm / mv会立即同步dentry元数据吗?

时间:2014-10-07 09:15:44

标签: linux inode ext4

link / rm / mv会在完成后立即将dentry元数据同步到永久存储吗?如果不是,何时?

1 个答案:

答案 0 :(得分:0)

https://www.kernel.org/doc/Documentation/sysctl/vm.txt,我明白了:

  

drop_caches

     

写入此内容将导致内核删除干净的缓存,以及   可回收的板坯对象,如dentries和inode。一旦掉线,   他们的记忆变得自由。

     

释放pagecache:

     
    

echo 1>的/ proc / SYS / VM / drop_caches

  
     

要释放可回收的slab对象(包括dentries和inode):

     
    

echo 2>的/ proc / SYS / VM / drop_caches

  
     

释放slab对象和pagecache:

     
    

echo 3>的/ proc / SYS / VM / drop_caches

  
     

这是一种非破坏性的操作,不会释放任何脏东西   对象。要增加此操作释放的对象数,   用户可以运行`sync'在写入/ proc / sys / vm / drop_caches之前。   这将最大限度地减少系统上的脏对象数量   创造更多的候选人。

     

此文件不是控制各种内核增长的方法   缓存(inode,dentries,pagecache等......)这些对象是   在其他地方需要内存时由内核自动回收   在系统上。

     

使用此文件可能会导致性能问题。既然它丢弃了   缓存的对象,它可能会花费大量的I / O和CPU   重新创建丢弃的对象,特别是如果它们被大量使用。   因此,在测试或调试环境之外使用   不推荐。

     

您可以在此文件中看到内核日志中的信息性消息   使用:

     

cat(1234):drop_caches:3

     

这些仅供参考。他们并不是说任何事情都是错的   与您的系统。要禁用它们,请将4(第3位)回显到drop_caches。