systemtap观察page_cache的使用情况
浏览:1697次 出处信息
在规划服务器的内存使用的时候经常需要知道应用在理想情况下会使用多少的pagecache, 我们好预先把这个内存预留出来.
这个值操作系统没有提供可查看的管道,我们只能自己写个脚本来实现.
下面的systemtap脚本每隔N秒显示下当前os下头10个文件占用多少的pagecache, 降序排列.
$ cat > pagecache.stp global __filenames global pagecache probe vfs.add_to_page_cache { pagecache[ino]++; } probe vfs.remove_from_page_cache { pagecache[ino]--; } probe generic.fop.open { __filenames[ino]=filename } function find_filename(ino) { if (ino in __filenames) return __filenames[ino]; else return sprintf("N/A ino:%d", ino); } probe timer.s($1) { ansi_clear_screen(); printf ("%50s %10s\\n", "FILENAME", "COUNT") foreach( pages = ino in pagecache- limit 10) { if(pages) printf("%50s %10d\\n", find_filename(ino), pages); } } CTRL+D $ sudo sysctl vm.drop_caches=3 $sudo stap pagecache.stp 1 FILENAME COUNT librpmdb-4.4.so 173 libpython2.4.so.1.0 153 libxml2.so.2.6.26 107 N/A ino:68781310 100 __m2crypto.so 91 libglib-2.0.so.0.1200.3 64 libperl.so 53 librpm-4.4.so 52 pyexpat.so 45 libreadline.so.5.1 38
玩得开心!
建议继续学习:
- Linux下如何知道文件被那个进程写 (阅读:4959)
- 在Ubuntu上使用SystemTap (阅读:3001)
- 突破systemtap脚本对资源使用的限制 (阅读:2513)
- systemtap函数调用栈信息不齐的原因和解决方法 (阅读:2233)
- systemtap全局变量自动打印的原因和解决方法 (阅读:1821)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
文章信息
- 作者:Yu Feng 来源: Erlang非业余研究
- 标签: page_cache systemtap
- 发布时间:2011-03-22 23:46:42
建议继续学习
近3天十大热文
- [66] Oracle MTS模式下 进程地址与会话信
- [65] Go Reflect 性能
- [64] 如何拿下简短的域名
- [60] android 开发入门
- [59] 图书馆的世界纪录
- [59] 【社会化设计】自我(self)部分――欢迎区
- [58] IOS安全–浅谈关于IOS加固的几种方法
- [54] 视觉调整-设计师 vs. 逻辑
- [48] 界面设计速成
- [48] 读书笔记-壹百度:百度十年千倍的29条法则