---
title: 基础组件参数
description: "**表1 调度器子系统-系统参数**"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevps/profiler/tuning/KunpengDevKitCli_0201.html
sourcePath: /source/zh/kunpengdevps/profiler/tuning/KunpengDevKitCli_0201.html
indexId: 518083770bdb06d38aac630bb13486d04d5c9b91f3c7e2e683310150dd70908d66
---
# 基础组件参数

#### 调度器子系统


**表1 调度器子系统-系统参数**

| 参数名称 | 参数含义 | 参数范围 | 性能敏感场景 | 调优建议 | 参数查看/设置方式 |
| --- | --- | --- | --- | --- | --- |
| kernel.numa\_balancing | 自动NUMA（非一致性内存访问）平衡 | {0, 1} | \- | 在不进行CPU绑核的场景下，建议将该参数配置为1。 | 查看：sysctl param 设置：sysctl param=value 说明： 其中param表示参数名称，value表示需配置的参数取值。 |
| kernel.sched\_child\_runs\_first | 子进程的CPU优先调度权 | {0, 1} | TensorFlow Serving | \- | 查看：sysctl param 设置：sysctl param=value 说明： 其中param表示参数名称，value表示需配置的参数取值。 |
| kernel.sched\_cluster | cluster调度亲和 | {0, 1} | MySQL、Redis、TensorFlow Serving | 建议设置为1 ，启用cluster调度亲和。 | 查看：sysctl param 设置：sysctl param=value 说明： 其中param表示参数名称，value表示需配置的参数取值。 |
| kernel.sched\_migration\_cost\_ns | 进程迁移的最小成本阈值 | [100000, 5000000] | TensorFlow Serving | \- | 查看：sysctl param 设置：sysctl param=value 说明： 其中param表示参数名称，value表示需配置的参数取值。 |
| kernel.sched\_nr\_migrate | 调度器在负载均衡时迁移的任务数量 | [1, 128] | TensorFlow Serving | \- | 查看：sysctl param 设置：sysctl param=value 说明： 其中param表示参数名称，value表示需配置的参数取值。 |
| kernel.sched\_wakeup\_granularity\_ns | 任务唤醒时的调度延迟阈值 | [100000, 15000000] | TensorFlow Serving | \- | 查看：sysctl param 设置：sysctl param=value 说明： 其中param表示参数名称，value表示需配置的参数取值。 |


#### I/O子系统


**表2 I/O子系统-系统参数**

| 参数名称 | 参数含义 | 参数范围 | 性能敏感场景 | 调优建议 | 参数查看/设置方式 |
| --- | --- | --- | --- | --- | --- |
| max\_sectors\_kb | 块设备单次I/O操作的数据大小 | [68, 128] | MySQL | 对于顺序读写密集型业务，可适当增大该参数以提升吞吐量；对于随机I/O延迟敏感业务，应适当减小该参数以优化响应时间。 | 查看/修改文件内容： /sys/block/block\_device/queue/max\_sectors\_kb 说明： 其中block\_device表示需替换为实际主机的块设备名称。 |
| scheduler | 块设备I/O调度策略 | {mq\-deadline, kyber,bfq, none} | MySQL、openGauss | 建议根据具体应用类型选择该参数的配置。 | 查看/修改文件内容： /sys/block/block\_device/queue/scheduler |


#### 内存管理子系统


**表3 内存管理子系统-系统参数**

| 参数名称 | 参数含义 | 参数范围 | 性能敏感场景 | 调优建议 | 参数查看/设置方式 |
| --- | --- | --- | --- | --- | --- |
| transparent\_hugepage\_mode | 透明大页的启用状态 | {madvise, never, always} | Redis、Hive、Spark、Kafka、TensorFlow Serving | 建议将该参数配置为always。 | 查看/修改文件内容： /sys/kernel/mm/transparent\_hugepage/enabled |
| vm.dirty\_background\_ratio | 触发后台刷写将脏页写回磁盘的脏内存占总内存的最大百分比阈值 | [0, 100] | RocksDB | 在延迟敏感的应用场景下，建议适当增大该参数，以降低刷盘频率，从而减少延迟波动。 | 查看：sysctl param 设置：sysctl param=value |
| vm.max\_map\_count | 单个进程可以创建的最大内存映射（mmap）区域数 | [65530, 10000000] | RocksDB | 建议适当增大mmap映射区域数量。 | 查看：sysctl param 设置：sysctl param=value |
| vm.vfs\_cache\_pressure | 回收用于目录和inode缓存（VFS cache）的倾向 | [0, 500] | RocksDB | 建议在内存紧张的环境下适当增大该值，避免缓存占用过多内存。 | 查看：sysctl param 设置：sysctl param=value |


#### 网络子系统


**表4 网络子系统-系统参数**

| 参数名称 | 参数含义 | 参数范围 | 性能敏感场景 | 调优建议 | 参数查看/设置方式 |
| --- | --- | --- | --- | --- | --- |
| net.core.rps\_sock\_flow\_entries | RPS（Receive Packet Steering）哈希表的大小 | [0, 131072] | \- | 建议将该参数配置为较大的值。 | 查看：sysctl param 设置：sysctl param=value |


#### Java Platform


**表5 Java Platform参数**

| 参数名称 | 参数含义 | 参数范围 | 参数设置方式 |
| --- | --- | --- | --- |
| AlwaysPreTouch | JVM在启动初始化阶段是否提前访问并提交堆内存到物理内存 | {on, off} | on：\-XX:+param off：\-XX:\-param |
| G1HeapRegionSize | G1堆划分的最小区域大小 | {1m, 2m, 4m, 8m, 16m, 32m} | \-XX:param=value |
| G1MaxNewSizePercent | G1年轻代在堆中占比的最大百分比 | [20, 40] | \-XX:param=value 需配合“\-XX:+UnlockExperimentalVMOptions”使能 |
| G1NewSizePercent | G1年轻代在堆中占比的初始百分比 | [20, 40] | \-XX:param=value 需配合“\-XX:+UnlockExperimentalVMOptions”使能 |
| G1UseAdaptiveIHOP | 是否启用自适应IHOP（Initiating Heap Occupancy Percent） | {on, off} | on：\-XX:+param off：\-XX:\-param 需配合“\-XX:+UnlockExperimentalVMOptions”使能 |
| MaxGCPauseMillis | 垃圾回收最大暂停时间的目标值 | [200, 500] | \-XX:param=value |
| MaxJavaStackTraceDepth | 异常堆栈跟踪的最大深度 | [512, 1024] | \-XX:param=value |
| ParallelGCThreads | STW工作线程数量 | [16, 128] | \-XX:param=value |
| UseNUMA | 是否启用NUMA（非统一内存访问）优化 | {on, off} | on：\-XX:+param off：\-XX:\-param |


参数设置方式需结合具体应用的配置机制进行指定，例如：

- Hive：可通过启动参数指定，例如：--hiveconf hive.tez.java.opts="-XX:+param-XX:param=value"
- Flink：可在配置文件中指定，例如：env.java.opts配置项指定为“-XX:+param-XX:param=value”
