Centos 安装 EBPF
安装必要工具和依赖:
1 | sudo yum install python3 python3-pip python3-devel gcc gcc-c++ make bcc bcc-tools bcc-devel |
安装 BCC Python 模块
1 | pip3 install bcc |
离线安装的方式如下:
- 下载 bcc 和 Python 模块源包
1
2
3
4
5
6# 下载 bcc 的源码包
wget https://github.com/iovisor/bcc/archive/refs/tags/v0.22.0.tar.gz -O bcc.tar.gz
# 下载 bcc 的 Python 模块源代码包
# 可以去这里 https://pypi.org/project/bcc/#files 进行查找
wget https://files.pythonhosted.org/packages/38/dc/3ca34874926789f8df53f3c1d1c38e77ebf876f43760e8745316bb8bd1c0/bcc-0.1.10.tar.gz - 上传文件到离线环境上,解压并进行安装:
1
2
3
4
5
6
7
8
9
10
11
12
13tar -xzf bcc.tar.gz
cd bcc-0.22.0 # 目录名可能会有所不同
# 安装系统依赖(可能需要根权限)
sudo yum install -y gcc gcc-c++ make bpfcc-tools # CentOS/RHEL
sudo apt-get install -y gcc g++ make bpfcc-tools # Ubuntu/Debian
# 编译和安装 bcc
mkdir build
cd build
cmake ..
make
sudo make install - 安装 bcc Python 模块
1
2
3
4
5
6# 解压下载的 Python 模块源代码包
tar -xzf bcc-python.tar.gz
cd bcc-python # 目录名可能会有所不同
# 安装 Python 模块
pip3 install .
iperf 测试带宽打不满
iperf3 作为iperf 系列网络测试工具新一代工具,开发团队重写代码使之有全新的实现方式,更少的代码量,更加小巧,但这也导致了其与iperf工具前后不兼容,一些命令执行具有差异化
iperf3 是不支持多线程的,与iperf 通过-P 参数增加数据并行流开启多线程不同,iperf3 增加-P 参数也是单线程的,测试过程中所有并行流运行与同一个CPU核心,这将限制我们获得最大的带宽测试结果,为了解决这一问题,可以增加iperf3的进程。
Server端:
1 | iperf3 -s -p 5201 & iperf3 -s -p 5202 & iperf3 -s -p 5203& |
Client端:
1 | iperf3 -c $ip -i 5 -t 100 -P 11 -p 5201 & |
mac tar 打包文件后到 linux 解压后出现 ._ 开头的文件
1 | tar --disable-copyfile -czvf archive_name.tar.gz /path/to/file_or_directory |