当前位置:  技术问答>linux和unix

目录里有几万个文件,第一次访问很慢

    来源: 互联网  发布时间:2016-10-13

    本文导语:  如题,有方法优化吗? 谢谢。 | 在linux文件系统中,inode列表记录的是该文件系统中所有的文件的inode号码,inode结构中有一个指向数据区的一个指针,每一次当I/O请求打开一个文件时,系统根...

如题,有方法优化吗?
谢谢。

|
在linux文件系统中,inode列表记录的是该文件系统中所有的文件的inode号码,inode结构中有一个指向数据区的一个指针,每一次当I/O请求打开一个文件时,系统根据文件描述符获得inode号码,然后根据inode中的数据指针,来索引数据区的数据,由于数据在磁盘上,所以要从磁盘缓冲区将数据复制到系统缓存中,这个过程发生的可能就是那几个I/O调度策略,如,read ahead,当操作系统完成了用户的I/O请求后,在以后的一段时间内,系统不会立即把文件从内存页面中清除,这个也是一种加速I/O的策略,这种策略,也应用到cache和内存之间的数据交换中,所以,如果用户发现要对同一个文件进行第二次读取操作时,就会发现,比第一次要快的多,因为,这一次是直接的从内存页面中提取数据的。一般想要加速文件读取的话,可以使用磁盘映射的方式读文件,当文件数量太多的时候,可以根据需求先加载必要的文件,然后再加载其他的文件,毕竟,一次读取上万个文件,再好的算法,策略,对用户来说都是需要长久等待的,除非你用个什么巨型机。。。

    
 
 

您可能感兴趣的文章:

  • python读文件,写文件操作以及目录操作
  • 写一个shell,把一个目录下所有的子目录中的文件移至本目录中,并且在文件名的前面加上子目录的文件夹名
  • 只给一个目录路径,怎样再在其下建立一个新的目录(给定目录名),然后再在其下建立一个新的文件(给定文件名)?
  • 想这么列出当前目录下的所有文件,及子目录的文件
  • 给出一个文件目录的路径,如何一次过删除所有在该目录下的文件?
  • 请问如何用grep命令来匹配指定目录下所有的文件(包括子目录下的文件)
  • 查找目录及子目录下所有文件中含有字符串‘CHINA’的文件
  • jbuilder7里如何不将jar文件解压到project工作目录的classes目录里,而直接测试现成的jar文件(不含.java文件)中的类和包
  • 用tar,如何使目录下的所有文件及目录压缩到一个文件中去?急!!!!!!!
  • jsp中如何获得当前jsp文件所在的目录,用request.getServletPath()得到的路径含有jsp文件名,有没有办法得到目录(不含文件名)?
  • 如果计算一个目录下面所有指定类型文件的数目和总大小(包括该目录下所有的子目录)
  • 请问LINUX行命令方式怎么COPY一个目录下所有文件和子目录到另一个目录下
  • 如何将目录下所有的子目录及文件复制到另一目录下
  • 求助,linux中修改了目录dir下的某个文件,相应的dir属性中的时间会与修改目录下文件的时间一致,这是怎么实现的?
  • 怎样用chown改变目录的所属用户和组时,怎样把这个目录下的子目录和所有子目录里的文件的所属用户和组都同时该了啊
  • cp目录和子目录,但不要文件
  • linux 怎样复制一个目录的所有文件到另一个目录?
  • 源代码分布在几个不同的目录中,如何在 Makefile 文件中,给出相应的目录??我不知道怎么将目录加进去!55555
  • 请问linux下如何在保留目录的情况下,删除目录中的多个文件?谢谢
  • 如何同步改动目录和目录里面文件的权限
  • 请问,一个目录(my_dir)下有很多子目录,每个子目录下有大量的文件,想删除my_dir,最好的方法是什么?谢谢
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux中只能让用户访问自己的目录 不能访问其他用户的目录
  • Fedora配置samba个人目录不能访问,但共享目录可以访问
  • resin允许目录访问,请问一下,如何禁止目录访问啊
  • CSS属性参考手册 iis7站长之家
  • Apache的主目录在/var/www/html/,但下面就只有两文件夹,但主目录却可以访问?
  • 如何把一个目录设成ROOT都不能访问,只有一个新增的用户名可以访问?
  • 在linux中架设好FTP服务后,如何增加访问用户以及如何设置访问目录。
  • 配置samba,2000可以访问linux,但是linux不能访问2000的共享目录
  • shell怎么禁止一个用户访问我的目录?
  • apache 正常安装后为什么一些目录无法访问?
  • vsftp服务器中怎么样访问软链接的目录?
  • windo下安装了SSH服务,怎么访问windows目录
  • Linux如何控制用户访问目录
  • apache有的目录不能访问?
  • 配置proftp问题一大堆,设置用户、权限、访问目录都有问题
  • 如何添加一个用户,让这个用户只能访问某个特定的目录,
  • linux下具体分配组的访问目录
  • 关于samba访问windows共享目录
  • 有哪位高手知道如何通过DOS的命令行访问网络中其他机器的共享目录
  • Windows的程序如何访问LINUX共享目录下的文件?
  • Linux下通过rpm安装软件详细介绍以及如何将软件安装到指定目录
  • 怎样在linux下用命令实现cp目录a下的子目录的所有内容到b目录中,只cp目录a的子目录内容???
  • 怎样在linux下用命令实现cp目录a下的字目录的所有内容到b目录中,cp子目录内容???
  • 为什么在我的linux7.0中,/usr/src/目录下只有redhat目录而没有linux目录?
  • 我的sun5.8工作站下目录下空间不够,其他目录还有空间,怎么把其他目录下的空间分配过来?
  • 大家知道在shell那里删除一个里面有内容的目录应该要用什么命令呢?注意,是有内容内目录啊,不是空目录!
  • 一个空的目录260g,里面有10个20g左右的子目录。如何删除该目录呢?
  • Solaris tar命令求教:如何在压缩一个目录的时候排除该目录下的某个子目录?
  • java里怎么怎样可以将这个目录和目录内的所有文件以及子目录一次全删掉阿
  • [参与者均有分] 如何在压缩一个目录的时候排除该目录下的某些深层子目录?
  • 如何将一个目录下的所有文件及子目录都copy到目的目录下???


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3