博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux:systemtap观察page_cache的使用情况
阅读量:4029 次
发布时间:2019-05-24

本文共 1150 字,大约阅读时间需要 3 分钟。

http://blog.yufeng.info/archives/1195 

本文链接地址: 

在规划服务器的内存使用的时候经常需要知道应用在理想情况下会使用多少的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
 
#拷贝个文件看看pagecache的变化
dd if=/dev/zero of=test.dat count=1024 bs=4096

玩得开心!

Post Footer automatically generated by  for wordpress.

转载地址:http://xeobi.baihongyu.com/

你可能感兴趣的文章
Visual Studio 2010:C++0x新特性
查看>>
drwtsn32.exe和adplus.vbs进行dump文件抓取
查看>>
cppcheck c++静态代码检查
查看>>
CLOSE_WAIT和TIME_WAIT
查看>>
在C++中使用Lua
查看>>
在Dll中调用自身的位图资源
查看>>
IP校验和详解
查看>>
C++中使用Mongo执行count和distinct运算
查看>>
一些socket的编程经验
查看>>
socket编程中select的使用
查看>>
C++获取文件大小常用技巧分享
查看>>
未来5年大机遇:做贩卖多巴胺的超级玩家
查看>>
关于AIS编码解码的两个小问题
查看>>
GitHub 万星推荐:黑客成长技术清单
查看>>
可以在线C++编译的工具站点
查看>>
关于无人驾驶的过去、现在以及未来,看这篇文章就够了!
查看>>
所谓的进步和提升,就是完成认知升级
查看>>
昨夜今晨最大八卦终于坐实——人类首次直接探测到了引力波
查看>>
如何优雅、机智地和新公司谈薪水?
查看>>
为什么读了很多书,却学不到什么东西?
查看>>