安装bcc、cachetop、cachestat

bcc包含cachetop、cachestat

安装环境:

  • Ubuntu 18.04
  • 内核:5.3.0-40-generic
  • 时间: 2020-03-18

bcc官方GitHub仓库

失败or错误的操作

  • 添加到Ubuntu源,此方法太旧已无效
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4052245BD4284CDD

echo "deb https://repo.iovisor.org/apt/xenial xenial main" | sudo tee /etc/apt/sources.l

sudo apt-get update

sudo apt-get install -y bcc-tools libbcc-examples linux-headers-$(uname -r)
  • 官方GitHub仓库推荐的直接安装sudo apt-get install bpfcc-tools linux-headers-$(uname -r)

    这样安装后老是BPF模块各种出错,事后感觉应该是我之前用pip安装了bcc和pytest

源码编译安装(最稳定最全的方法)

如果你在使用源码安装之前尝试了前面的错误操作,务必使用 apt remove和 pip uninstall 卸载相关依赖例如bcc-tools、bpfcc-tools.

按照官方GitHub仓库的安装手册:相关依赖选择与自己系统对应的即可,比如我的是Ubuntu18.04就运行红框里面的命令.
安装bcc、cachetop、cachestat_第1张图片
重点来了,切记千万不要直接git clone,因为这个最新仓库可能由于作者的问题在make时会缺少一些文件,比如报下面的错:

bcc-0.9.0/src/cc/libbpf.c:54:10: fatal error: libbpf/src/bpf.h: No such file or directory
 #include "libbpf/src/bpf.h"
  • 参考issue:https://github.com/iovisor/bcc/issues/2261

  • 原因:直接git clone了bcc项目

  • 解决办法:应该使用bcc的release包 https://github.com/iovisor/bcc/releases

下载最新版本的bcc-src-with-submodule包即可。

下载解压后进入bcc目录

cd bcc
mkdir build; cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
make
sudo make install
cmake -DPYTHON_CMD=python3 .. # build python3 binding
pushd src/python/
make
sudo make install
popd

然后就能使用cachestat、cachetop了,Ubuntu需要sudo权限运行。

cachestat、cachetop详解

cachestat

cachestat 的输出其实是一个表格

安装bcc、cachetop、cachestat_第2张图片

TOTAL ,表示总的 I/O 次数;

MISSES ,表示缓存未命中的次数;

HITS ,表示缓存命中的次数;

DIRTIES, 表示新增到缓存中的脏页数;

BUFFERS_MB 表示 Buffers 的大小,以 MB 为单位;

CACHED_MB 表示 Cache 的大小,以 MB 为单位。

cachetop

img

默认按照缓存的命中次数(HITS)排序,展示了每个进程的缓存命

中情况。这里的 HITS、MISSES 和 DIRTIES ,跟 cachestat 里的含

义一样,分别代表间隔时间内的缓存命中次数、未命中次数以及新增到缓存中的脏页数。

而 READ_HIT 和 WRITE_HIT ,分别表示读和写的缓存命中率。

你可能感兴趣的:(Linux)