searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

NUMA 绑定 Demo

2023-07-27 06:38:45
16
0

安装 numa

 

yum install numactl -y

 

numa binding

 

# cat hello.c 
#include<stdio.h>

int main()
{
	printf("%s \n", "hello");
	sleep(3600);
	return 0;
}

 

编译

# gcc hello.c
[root@sr531 numa]# ll
total 16
-rwxr-xr-x 1 root root 8608 Dec 25 11:52 a.out
-rw-r--r-- 1 root root   89 Dec 25 11:51 hello.c

 

运行

正常运行可执行文件
# ./a.out 
hello 

 

# cd  /proc/47559
# cat numa_maps 
00400000 default file=/home/numa/a.out mapped=1 N1=1 kernelpagesize_kB=4
00600000 default file=/home/numa/a.out anon=1 dirty=1 N0=1 kernelpagesize_kB=4
00601000 default file=/home/numa/a.out anon=1 dirty=1 N0=1 kernelpagesize_kB=4
7fe803844000 default file=/usr/lib64/libc-2.17.so mapped=63 mapmax=70 N1=63 kernelpagesize_kB=4
7fe8039fa000 default file=/usr/lib64/libc-2.17.so
7fe803bfa000 default file=/usr/lib64/libc-2.17.so anon=4 dirty=4 N0=4 kernelpagesize_kB=4
7fe803bfe000 default file=/usr/lib64/libc-2.17.so anon=2 dirty=2 N0=2 kernelpagesize_kB=4
7fe803c00000 default anon=3 dirty=3 N0=3 kernelpagesize_kB=4
7fe803c05000 default file=/usr/lib64/ld-2.17.so mapped=27 mapmax=68 N1=27 kernelpagesize_kB=4
7fe803e15000 default anon=3 dirty=3 N0=3 kernelpagesize_kB=4
7fe803e22000 default anon=2 dirty=2 N0=2 kernelpagesize_kB=4
7fe803e24000 default file=/usr/lib64/ld-2.17.so anon=1 dirty=1 N0=1 kernelpagesize_kB=4
7fe803e25000 default file=/usr/lib64/ld-2.17.so anon=1 dirty=1 N0=1 kernelpagesize_kB=4
7fe803e26000 default anon=1 dirty=1 N0=1 kernelpagesize_kB=4
7ffd127ba000 default stack anon=3 dirty=3 N0=3 kernelpagesize_kB=4
7ffd127e4000 default

 

带numa运行

 

# numactl --cpubind=1 --membind=1 ./a.out 
hello 

 

 

# cat numa_maps
00400000 bind:1 file=/home/numa/a.out mapped=1 N1=1 kernelpagesize_kB=4
00600000 bind:1 file=/home/numa/a.out anon=1 dirty=1 N1=1 kernelpagesize_kB=4
00601000 bind:1 file=/home/numa/a.out anon=1 dirty=1 N1=1 kernelpagesize_kB=4
7faf5478f000 bind:1 file=/usr/lib64/libc-2.17.so mapped=63 mapmax=70 N1=63 kernelpagesize_kB=4
7faf54945000 bind:1 file=/usr/lib64/libc-2.17.so
7faf54b45000 bind:1 file=/usr/lib64/libc-2.17.so anon=4 dirty=4 N1=4 kernelpagesize_kB=4
7faf54b49000 bind:1 file=/usr/lib64/libc-2.17.so anon=2 dirty=2 N1=2 kernelpagesize_kB=4
7faf54b4b000 bind:1 anon=3 dirty=3 N1=3 kernelpagesize_kB=4
7faf54b50000 bind:1 file=/usr/lib64/ld-2.17.so mapped=27 mapmax=68 N1=27 kernelpagesize_kB=4
7faf54d60000 bind:1 anon=3 dirty=3 N1=3 kernelpagesize_kB=4
7faf54d6d000 bind:1 anon=2 dirty=2 N1=2 kernelpagesize_kB=4
7faf54d6f000 bind:1 file=/usr/lib64/ld-2.17.so anon=1 dirty=1 N1=1 kernelpagesize_kB=4
7faf54d70000 bind:1 file=/usr/lib64/ld-2.17.so anon=1 dirty=1 N1=1 kernelpagesize_kB=4
7faf54d71000 bind:1 anon=1 dirty=1 N1=1 kernelpagesize_kB=4
7ffc68f7b000 bind:1 stack anon=2 dirty=2 N1=2 kernelpagesize_kB=4
7ffc68fcb000 bind:1

0条评论
0 / 1000
s****n
4文章数
0粉丝数
s****n
4 文章 | 0 粉丝
s****n
4文章数
0粉丝数
s****n
4 文章 | 0 粉丝
原创

NUMA 绑定 Demo

2023-07-27 06:38:45
16
0

安装 numa

 

yum install numactl -y

 

numa binding

 

# cat hello.c 
#include<stdio.h>

int main()
{
	printf("%s \n", "hello");
	sleep(3600);
	return 0;
}

 

编译

# gcc hello.c
[root@sr531 numa]# ll
total 16
-rwxr-xr-x 1 root root 8608 Dec 25 11:52 a.out
-rw-r--r-- 1 root root   89 Dec 25 11:51 hello.c

 

运行

正常运行可执行文件
# ./a.out 
hello 

 

# cd  /proc/47559
# cat numa_maps 
00400000 default file=/home/numa/a.out mapped=1 N1=1 kernelpagesize_kB=4
00600000 default file=/home/numa/a.out anon=1 dirty=1 N0=1 kernelpagesize_kB=4
00601000 default file=/home/numa/a.out anon=1 dirty=1 N0=1 kernelpagesize_kB=4
7fe803844000 default file=/usr/lib64/libc-2.17.so mapped=63 mapmax=70 N1=63 kernelpagesize_kB=4
7fe8039fa000 default file=/usr/lib64/libc-2.17.so
7fe803bfa000 default file=/usr/lib64/libc-2.17.so anon=4 dirty=4 N0=4 kernelpagesize_kB=4
7fe803bfe000 default file=/usr/lib64/libc-2.17.so anon=2 dirty=2 N0=2 kernelpagesize_kB=4
7fe803c00000 default anon=3 dirty=3 N0=3 kernelpagesize_kB=4
7fe803c05000 default file=/usr/lib64/ld-2.17.so mapped=27 mapmax=68 N1=27 kernelpagesize_kB=4
7fe803e15000 default anon=3 dirty=3 N0=3 kernelpagesize_kB=4
7fe803e22000 default anon=2 dirty=2 N0=2 kernelpagesize_kB=4
7fe803e24000 default file=/usr/lib64/ld-2.17.so anon=1 dirty=1 N0=1 kernelpagesize_kB=4
7fe803e25000 default file=/usr/lib64/ld-2.17.so anon=1 dirty=1 N0=1 kernelpagesize_kB=4
7fe803e26000 default anon=1 dirty=1 N0=1 kernelpagesize_kB=4
7ffd127ba000 default stack anon=3 dirty=3 N0=3 kernelpagesize_kB=4
7ffd127e4000 default

 

带numa运行

 

# numactl --cpubind=1 --membind=1 ./a.out 
hello 

 

 

# cat numa_maps
00400000 bind:1 file=/home/numa/a.out mapped=1 N1=1 kernelpagesize_kB=4
00600000 bind:1 file=/home/numa/a.out anon=1 dirty=1 N1=1 kernelpagesize_kB=4
00601000 bind:1 file=/home/numa/a.out anon=1 dirty=1 N1=1 kernelpagesize_kB=4
7faf5478f000 bind:1 file=/usr/lib64/libc-2.17.so mapped=63 mapmax=70 N1=63 kernelpagesize_kB=4
7faf54945000 bind:1 file=/usr/lib64/libc-2.17.so
7faf54b45000 bind:1 file=/usr/lib64/libc-2.17.so anon=4 dirty=4 N1=4 kernelpagesize_kB=4
7faf54b49000 bind:1 file=/usr/lib64/libc-2.17.so anon=2 dirty=2 N1=2 kernelpagesize_kB=4
7faf54b4b000 bind:1 anon=3 dirty=3 N1=3 kernelpagesize_kB=4
7faf54b50000 bind:1 file=/usr/lib64/ld-2.17.so mapped=27 mapmax=68 N1=27 kernelpagesize_kB=4
7faf54d60000 bind:1 anon=3 dirty=3 N1=3 kernelpagesize_kB=4
7faf54d6d000 bind:1 anon=2 dirty=2 N1=2 kernelpagesize_kB=4
7faf54d6f000 bind:1 file=/usr/lib64/ld-2.17.so anon=1 dirty=1 N1=1 kernelpagesize_kB=4
7faf54d70000 bind:1 file=/usr/lib64/ld-2.17.so anon=1 dirty=1 N1=1 kernelpagesize_kB=4
7faf54d71000 bind:1 anon=1 dirty=1 N1=1 kernelpagesize_kB=4
7ffc68f7b000 bind:1 stack anon=2 dirty=2 N1=2 kernelpagesize_kB=4
7ffc68fcb000 bind:1

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0