加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

监控Linux中的文件访问

发布时间:2020-12-14 02:40:39 所属栏目:Linux 来源:网络整理
导读:有没有办法收集有关磁盘上访问的块的统计信息? 我有一个场景,一个任务是内存和I / O密集型,我需要找到一个很好的平衡,我可以分配给流程多少可用的RAM以及我应该留给系统构建它的I / O缓存用于正在使用的块设备. 我怀疑当前正在发生的大多数I / O是访问相当
有没有办法收集有关磁盘上访问的块的统计信息?

我有一个场景,一个任务是内存和I / O密集型,我需要找到一个很好的平衡,我可以分配给流程多少可用的RAM以及我应该留给系统构建它的I / O缓存用于正在使用的块设备.

我怀疑当前正在发生的大多数I / O是访问相当小的文件子集(或大文件的一部分),并且可以通过增加可用于I / O缓冲的RAM来优化性能.

理想情况下,我可以创建类似“热图”的东西,向我显示大多数时间访问文件的哪些部分.

安装程序目前基于AWS / EC2 m1.large实例上的CentOS 5.磁盘设置可以是RAID0设置(LVM)中的短暂块设备,也可以是单个(500GB)EBS

更新:最初,这个问题是讨论磁盘块,这是误导,因为我实际上对正在访问的逻辑块感兴趣,我不关心它们在物理设备上的位置.我改变了这一点,以明确它是我感兴趣的文件的一部分.我为这种混乱道歉.

解决方法

我不确定你是否完全理解 how modern buffer caches work – 你大约有一半是因为你想要限制你的进程使用多少RAM(所以缓冲区缓存有足够的“可用”,但是你正在考虑它错误道.

您要求的内容对调整缓冲区缓存并不是很有用 – 如果您有一个连续的磁盘(或一个呈现为一个并且表现为一个的阵列)并且正在考虑优化磁盘布局,那么它可能很有用,但这已经进入Deep Filesystem Magic.
您可以阅读McKusick关于文件系统设计的论文(or spend 42 minutes and watch this great video),以获得文件系统如何为您优化文件系统的基本概念 – 文件系统非常擅长将on-disklayout设置为正确.

在缓冲区高速缓存优化方面,您需要查看缓存命中数与缓存未命中数(特别是导致未命中的原因).磁盘上的物理位置并不重要 – 重要的是你需要多少次才能获得你想要的磁盘,以及你的缓存是否足够大以至于不会一直搅动(基本上否定了缓存效率).

调整比其他任何东西都更加试错 – 一个非常低效的经验法则是将缓冲区缓存的最大文件/数据块的大小减去2倍,但是你几乎总是更好的开始非常倾向于应用程序或缓存,并调整到最佳性能.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读