跨numa的内存带宽测试

如果服务器上有多个numa节点,访问不同numa的性能有较大的性能损失,这里提供一种测试跨numa带宽的方法。

测试工具使用lmbench,github链接:https://github.com/intel/lmbench.git

clone编译好之后可以在bin下找到所有可用的子命令。可以使用下面的dockerfile。

FROM ubuntu
RUN apt update && apt install -y make build-essential git
RUN cd /root && git clone https://github.com/intel/lmbench.git && cd lmbench && make
WORKDIR /root/lmbench

docker build -t test-lmbench .

测试的时候先查看本机的numa拓扑。使用lscpu。比如有连个numa0和1,numa0对应cpu0-15,numa1对应cpu16-31,则可以使用下面的命令。

docker run --cpuset-cpus=0-15 --cpuset-mems=1 -it --rm test-lmbench sh -c 'bin/x86_64-linux-gnu/bw_mem -P 16 -N 0 256M rd'

使用node0读写numa1.

 

posted @ 2024-04-12 12:00  半山随笔  阅读(22)  评论(0编辑  收藏  举报