systemtap观察page_cache的使用情况
浏览:1664次 出处信息
在规划服务器的内存使用的时候经常需要知道应用在理想情况下会使用多少的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下如何知道文件被那个进程写 (阅读:4714)
- 在Ubuntu上使用SystemTap (阅读:2889)
- 突破systemtap脚本对资源使用的限制 (阅读:2317)
- systemtap函数调用栈信息不齐的原因和解决方法 (阅读:2129)
- systemtap全局变量自动打印的原因和解决方法 (阅读:1711)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
文章信息
- 作者:Yu Feng 来源: Erlang非业余研究
- 标签: page_cache systemtap
- 发布时间:2011-03-22 23:46:42
建议继续学习
近3天十大热文
- [693] Go Reflect 性能
- [26] 正态分布的前世今生(一)
- [18] rsync同步的艺术
- [15] Cuckoo Filter:设计与实现
- [15] 基于HTTP缓存轻松实现客户端应用的离线支持
- [14] Linux Used内存到底哪里去了?
- [13] 什么是DNS劫持和DNS污染?
- [13] 公钥私钥加密解密数字证书数字签名详解
- [13] 关于RDS只读实例延迟分析
- [13] Linux内存中的Cache真的能被回收么?