飞腾/鲲鹏/海光平台资源调优
国产 CPU 平台(ARM/海光 x86)上麒麟服务器的资源调优思路:CPU 绑核、调度参数、NUMA 意识,以及先看瓶颈再动手的原则。
结论先行
资源调优没有「万能参数」,先定位瓶颈(CPU、内存、IO、网络哪个先顶),再动调度与绑核。飞腾/鲲鹏(ARM)与海光(x86)在麒麟上的调优方法基本一致:taskset 绑核、内核参数按需调、大内存机器开 NUMA 意识。先测量、小步改、有对照,别凭感觉堆参数。
定位瓶颈
top / htop # 整体 CPU、内存
mpstat -P ALL 1 # 分核看是否单核打满
iostat -x 1 # IO 是否瓶颈
nstat / sar -n DEV 1 # 网络
ARM 多核(飞腾/鲲鹏核数多)时,单核打满、整体不满是常见形态,此时绑核收益最大。
常用调手段
-
CPU 绑核:把关键进程固定在高性能核上,避开被杂进程抢:
taskset -cp 0-7 <pid> # 查看/设置进程绑核 # 服务级可写 systemd 的 CPUAffinity -
NUMA:多路机器上,进程/内存尽量同节点:
numactl --hardware # 看节点分布 numactl --cpunodebind=0 --membind=0 <命令> -
内核参数:网络队列、内存回收阈值等按需调(
sysctl),改前记录原值,改后压测对照。 -
参考基线:调优对象如 高级服务器 V11 x86-64;deepin 系(deepin 条目)桌面场景的调优手法不同,服务器侧以麒麟条目说明为准。
原则
- 一次只改一个变量,压测留数据。
- 生产调优在变更窗口做,保留回退(原参数备份)。
- 拿不准的参数行为以发行版文档为准,不做无依据的大改。
调优前确认当前内核/条目版本,不同条目(如 麒麟镜像列表 中各条目)的默认参数可能有差异。