systemtap观察page_cache的使用情况
浏览:2025次 出处信息
在规划服务器的内存使用的时候经常需要知道应用在理想情况下会使用多少的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下如何知道文件被那个进程写 (阅读:5894)
- 在Ubuntu上使用SystemTap (阅读:3652)
- 突破systemtap脚本对资源使用的限制 (阅读:3260)
- systemtap函数调用栈信息不齐的原因和解决方法 (阅读:2853)
- systemtap全局变量自动打印的原因和解决方法 (阅读:2453)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
文章信息
- 作者:Yu Feng 来源: Erlang非业余研究
- 标签: page_cache systemtap
- 发布时间:2011-03-22 23:46:42
建议继续学习
近3天十大热文
-
[914] WordPress插件开发 -- 在插件使用 -
[135] 解决 nginx 反向代理网页首尾出现神秘字 -
[54] 整理了一份招PHP高级工程师的面试题 -
[53] 如何保证一个程序在单台服务器上只有唯一实例( -
[52] 海量小文件存储 -
[52] 全站换域名时利用nginx和javascri -
[52] Innodb分表太多或者表分区太多,会导致内 -
[51] 用 Jquery 模拟 select -
[50] CloudSMS:免费匿名的云短信 -
[48] 分享一个JQUERY颜色选择插件
