原仓库地址:Immersive-Video-Sample
修改之后的仓库:Immersive-Video-Sample
Server 端搭建
修改 Dockerfile
手动设置 wget 和 git 的 http_proxy
旧 package 目录 not found,修改为新 package 目录
因为找不到 glog 库因此加入软链接操作
ln -s /usr/local/lib64/libglog.so.0.6.0 /usr/local/lib64/libglog.so.0
重新编译内核
运行脚本时显示 libnuma 错误因此推断与 numa 设置有关
执行numactl -H
显示只有一个 node,报错输出显示需要至少两个 numa 节点
查询资料之后获知可以使用 fakenuma 技术创造新节点,但是 Ubuntu 默认的内核没有开启对应的内核参数
- 手动下载 Linux 内核源代码到
/usr/src/
目录
wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.11.1.tar.gz
- 解压
tar xpvf linux-5.11.1.tar.gz
- 复制现有内核配置
cd linux-5.11.1 && cp -v /boot/config-$(uname -r) .config
- 安装必要的包
sudo apt install build-essential libncurses-dev bison flex libssl-dev libelf-dev
- 进入内核配置界面
sudo make menuconfig
- 按下
/
键分别查询CONFIG_NUMA
和CONFIG_NUMA_EMU
位置
- 手动勾选对应选项之后保存退出
- 重新编译并等待安装结束
sudo make -j $(nproc) && sudo make modules_install && sudo make install
- 修改
grub
启动参数加入 fake numa 配置
sudo vim /etc/default/grub
找到对应行并修改为
GRUB_CMDLINE_LINUX="numa=fake=2"
- 更新
grub
并重启
sudo update-grub && sudo reboot
- 执行
numactl -H
检查 numa 节点数目为 2
- 重新执行脚本如图说明一切正常
Client 端搭建
需要 Ubuntu18.04 环境,虚拟机中安装之后按照 README 命令,执行脚本一切正常