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

numa大页内存查看及动态设置方法

2023-08-28 07:22:18
335
0

    当前高性能的资源池,已经大量使用了大页内存,但是由于一些服务器内存在各个numa之间分布不均匀,所以有可能造成某一numa上面的内存耗尽,但是整体来看还有大量空闲大页内存存在,本文章介绍各numa上面大页内存使用量及动态设置的方法。

我们通常查看本机器一共有多少大页内存,是通过cmdline命令查看的。

[root@gzinf-computer-55e235e17e25 node0]# cat /proc/cmdline 
BOOT_IMAGE=/vmlinuz-4.19.90-2102.2.0.0066.ctl2.x86_64 root=UUID=fabe2f94-3dad-47c8-909e-386a3481d399 ro console=tty0 pci=realloc biosdevname=0 net.ifnames=0 console=ttyS0,115200n8 crashkernel=512M iommu=pt intel_iommu=on default_hugepagesz=1024M hugepagesz=1024M hugepages=447 isolcpus=18-19,22-23,26-27,50-51,54-55,58-59 irqaffinity=29-31,62-63,0-17,20-21,24-25,28,32-49,52-53,56-57,60-61 nohz_full=18-19,22-23,26-27,50-51,54-55,58-59

其中,hugepages是代表大页内存的数目,而hugepagesz是每个大页的大小。两值相乘,即为大页内存所耗的总的内存量。但是该命令只能看初始预留的数目,当前系统中的已经消耗量、及free量,可以通过cat /proc/meminfo命令来查看。

其中Hugepagesize为每页大页内存所占的内存量,HugePages_Total为初始预留大页内存的数目,HugePages_Free为当前仍然空闲的大页内存。该命令只能查看整机的情况,不能查看到某个numa的情况,如果想要查看具体某个numa上面大页的信息,可以使用如下的命令:

cat /sys/devices/system/node/node*/meminfo

下面以numa0为例:

可以看到该numa的大页预留与使用情况。

对于一些numa上面内存分配不均的情况,可能需要动态调整每个numa上面大页内存的预留情况,可以使用下面的命令。

echo num > /sys/devices/system/node/node*/hugepages/hugepages-1048576kB/nr_hugepages

设置完成后,可以使用cat /sys/devices/system/node/node*/meminfo确定是否成功。

0条评论
0 / 1000
孙****鑫
6文章数
0粉丝数
孙****鑫
6 文章 | 0 粉丝
原创

numa大页内存查看及动态设置方法

2023-08-28 07:22:18
335
0

    当前高性能的资源池,已经大量使用了大页内存,但是由于一些服务器内存在各个numa之间分布不均匀,所以有可能造成某一numa上面的内存耗尽,但是整体来看还有大量空闲大页内存存在,本文章介绍各numa上面大页内存使用量及动态设置的方法。

我们通常查看本机器一共有多少大页内存,是通过cmdline命令查看的。

[root@gzinf-computer-55e235e17e25 node0]# cat /proc/cmdline 
BOOT_IMAGE=/vmlinuz-4.19.90-2102.2.0.0066.ctl2.x86_64 root=UUID=fabe2f94-3dad-47c8-909e-386a3481d399 ro console=tty0 pci=realloc biosdevname=0 net.ifnames=0 console=ttyS0,115200n8 crashkernel=512M iommu=pt intel_iommu=on default_hugepagesz=1024M hugepagesz=1024M hugepages=447 isolcpus=18-19,22-23,26-27,50-51,54-55,58-59 irqaffinity=29-31,62-63,0-17,20-21,24-25,28,32-49,52-53,56-57,60-61 nohz_full=18-19,22-23,26-27,50-51,54-55,58-59

其中,hugepages是代表大页内存的数目,而hugepagesz是每个大页的大小。两值相乘,即为大页内存所耗的总的内存量。但是该命令只能看初始预留的数目,当前系统中的已经消耗量、及free量,可以通过cat /proc/meminfo命令来查看。

其中Hugepagesize为每页大页内存所占的内存量,HugePages_Total为初始预留大页内存的数目,HugePages_Free为当前仍然空闲的大页内存。该命令只能查看整机的情况,不能查看到某个numa的情况,如果想要查看具体某个numa上面大页的信息,可以使用如下的命令:

cat /sys/devices/system/node/node*/meminfo

下面以numa0为例:

可以看到该numa的大页预留与使用情况。

对于一些numa上面内存分配不均的情况,可能需要动态调整每个numa上面大页内存的预留情况,可以使用下面的命令。

echo num > /sys/devices/system/node/node*/hugepages/hugepages-1048576kB/nr_hugepages

设置完成后,可以使用cat /sys/devices/system/node/node*/meminfo确定是否成功。

文章来自个人专栏
基础架构中心-内核组
6 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0