提示
暂不支持移动端,请在PC端查看

首页 难题挑战 演武堂 炼金阁 模板管理 运营中心 光明顶 关于我们
搜索

【鲲鹏】CPU 与内存子系统性能调优之优化方法(四)

楼主
仗剑天涯

76

主题

14

回帖

372

积分

发布时间:2024-1-22 18:09:02 | 显示全部楼层
优化方法:NUMA优化,减少跨NUMA访问内存

原理
通过2.1 鲲鹏处理器NUMA简介章节可以看到不同NUMA内的CPU core访问同一个位置的内存,性能不同。内存访问延时从高到低为:跨CPU > NUMA不跨CPU >NUMA

因此在应用程序运行时要尽可能的避免跨NUMA访问内存,我们可以通过设置线程的CPU亲和性来实现。

修改方式

● 网 络可以通过如下方式绑定运行的CPU core,其中$cpuNumbercore的编号,0开始;$irq为网卡队列中断号。
echo $cpuNumber > rcrqrqmfny

通过numactl启动程序,如下面的启动命令表示启动test程序,只能在CPU core28core31运行(-C控制)
numactl -C 28-31 ./test

C/C++代码中通过cfny函数来设置线程亲和性。

很多开源软件已经支持在自带的配置文件中修改线程的亲和性,例如nginx可以修nginx.conf文件中的wrrcfny参数来设置nginx线程亲和性。

原文:鲲鹏性能优化十板斧5.0.pdf

版权说明:
本文内容由EDA²侠客岛用户自发贡献,版权归原作者所有,EDA²侠客岛不拥有其著作权,亦不承担相应法律责任,如果您发现本社区中有涉嫌抄袭的内容,请立即联系EDA²侠客岛平台,一经查实,将立刻删除涉嫌侵权内容。




联系我们
EDA²侠客岛邮箱:xiakedao@eda2.com
联系人电话:18191069556
ISEDA官网
IDAS官网
EDA²公众号
企业微信

Powered by Discuz!

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表