首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux系统性能监控与优化(4)–IO

linux系统性能监控与优化(4)–IO

作者头像
小小科
发布2018-05-03 12:47:06
1.6K0
发布2018-05-03 12:47:06
举报
文章被收录于专栏:北京马哥教育北京马哥教育

IO子系统一般是linux系统中最慢的部分。一个原因是它距离CPU的距离,另一个原因是它的物理结构。访问磁盘的时间与访问内存的时间是7天与7分钟的区别。linux kernel要尽量减少磁盘IO。

1.Reading and Writing Data

linux内核以page为单位访问磁盘IO,一般为4K。
     查看页大小:/usr/bin/time -v date
                 Page size (bytes): 4096

2.Major and Minor Page Faults

linux会将内存物理地址空间映射到虚拟内存,内核仅会映射需要的内存页。当应用启动时,内核依次搜索CPU  cache和物理内存,查找是否有相应的内存页,如果不存在,则内核将会发起一次MPF(major page  fault),将磁盘中的数据读出并缓存到内存中。
     如果在buffer cache找到了对应的内存页,则将会产生一个MnPF(minor page fault).
     /usr/bin/time -v helloworld
     第一次执行会发现大部分是MPF
     第二次执行会发现大部分是MnPF

3.The File Buffer Cache

file buffer cache用来减少MPF,增加MnPF,它将会持续增长,直到可用内存比较少或是内核需要为其它应用来释放一些内存。free内存比较少,并不能说明系统内存紧张,只能说明linux系统充分使用内存来做cache.
     cat /proc/meminfo
     MemTotal: 24730888 kB
   总内存
     MemFree: 2633168 kB
     空闲内存
     Buffers: 2191776 kB
     写buffer(这里有问题吧,应该是block cache吧)
     Cached: 15879728 kB    读cache

4.内存页的类型

read pages: 只读的页,并且在磁盘中有对应文件,一般是静态文件,二进制文件,库。当内存短缺时,这些页可以直接丢弃,放到free list.
     dirty pages: 在内存中被修改的页,需要使用pdflush/kswapd刷回磁盘。
     anonymous pages: 属于某个进程的内存,但在磁盘中没有对应的文件,当内存短缺时,要写到swap

5.将数据页写回磁盘

可以使用fsync()或是sync()立即写回,如果没有直接调用这些函数,pdflush会定期刷回磁盘。

6.监控IO的工具

top,vmstat,iostat,sar
     10万转速的磁盘,一般的响应时间是8ms,可以达到120~150IOPS.

7.顺序IO与随机IO

 ## 8.iotop可以显示所有应用的IO占用情况

9.总结

   一旦CPU在等待IO,说明磁盘负载过重
         计算磁盘可以承受的IOPS
         顺序IO与随机IO
         监控慢盘的等待时间和服务时间
         监控swap

来源链接:http://www.trueeyu.com/?p=1761 网摘文章,如有问题,请联系我们

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-10-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 马哥Linux运维 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.Reading and Writing Data
  • 2.Major and Minor Page Faults
  • 3.The File Buffer Cache
  • 4.内存页的类型
  • 5.将数据页写回磁盘
  • 6.监控IO的工具
  • 7.顺序IO与随机IO
  • 9.总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档