鲲鹏性能优化十板斧(二)——CPU与内存子系统性能调优

1.1 CPU与内存子系统性能调优简介

调优思路

性能优化的思路如下:

      l   如果CPU的利用率不高,说明资源没有充分利用,可以通过工具(如strace)查看应用程序阻塞在哪里,一般为磁盘,网络或应用程序的业务处理中存在休眠或信号等待,这些优化措施在后续其它章节描述。

      l   如果CPU利用率高,通过优化软件硬件的配置参数来更好适配业务场景,减少CPU占用率,让整个系统有更多的CPU时间来处理业务。

我们也可以选择更好的硬件,根据CPU的能力配置合适的内存条,建议内存满通道配置,发挥内存最大带宽:一颗鲲鹏920处理器的内存通道数为8,两颗鲲鹏920处理器的内存通道数为16;建议选择高频率的内存条,提升内存带宽:鲲鹏920在1DPC配置时,支持的内存最高频率为2933MHz。

主要优化参数

优化项

优化项简介

默认值

生效范围

鲲鹏916

鲲鹏920

优化应用程序的NUMA配置

在NUMA架构下,CPU core访问临近的内存时访问延迟更低。将应用程序绑在一个NUMA节点,可减少因访问远端内存带来的性能下降。

默认不绑定核

立即生效

yes

yes

修改CPU预取开关

内存预取在数据集中场景下可以提前将要访问的数据读到CPU cache 中,提升性能;若数据不集中,导致预取命中率低,则浪费内存带宽。

on

重启生效

no

yes

调整定时器机制

nohz机制可减少不必要的时钟中断,减少CPU调度开销。

不同OS默认配置不同

Euler:nohz=off

重启生效

yes

yes

调整内存的页大小为64K

内存的页大小越大,TLB中每行管理的内存越多,TLB命中率就越高,从而减少内存访问次数。

不同OS默认配置不同:

4KB或64K

重新编译内核、更新内核后生效

yes

yes

优化应用程序的线程并发数

适当调整应用的线程并发数,使得充分利用多核能力和资源争抢之间达到平衡。

由应用本身决定

立即生效或重启生效(由应用决定)

yes

yes

1.2 常用性能监测工具

1.2.1 top工具

介绍

top是最常用的Linux性能监测工具之一。通过top工具可以监视进程和系统整体性能。

命令参考举例:

命令

说明

top

查看系统整体的CPU、内存资源消耗。

top执行后输入1

查看每个CPU core资源使用情况。

top执行后输入F,并选择P选项

查看线程执行过程中是否调度到其它CPU core。

top -p $PID -H

查看某个进程内所有线程的CPU资源占用。

安装方式

系统

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值