rubik 配置说明
基本配置说明
rubik 执行程序由 Go 语言实现,并编译为静态可执行文件,以便尽可能与系统依赖解耦。
rubik 除支持 -v
参数查询版本信息之外,不支持其他参数,版本信息输出示例如下所示,该信息中的内容和格式可能随着版本发生变化。
rubik -v
Version: 1.0.0
Release: 5
Go Version: go1.17.3
Git Commit: 8e373d2
Built: 2022-12-12
OS/Arch: linux/amd64
rubik 启动时会解析配置文件,配置文件的路径固定为 /var/lib/rubik/config.json
,为避免配置混乱,暂不支持指定其他路径。
配置文件采用 json 格式,字段键采用驼峰命名规则,且首字母小写。
配置文件示例内容如下:
{
"autoCheck": false,
"logDriver": "stdio",
"logDir": "/var/log/rubik",
"logSize": 1024,
"logLevel": "info",
"cgroupRoot": "/sys/fs/cgroup",
"cacheConfig": {
"enable": false,
"defaultLimitMode": "static",
"adjustInterval": 1000,
"perfDuration": 1000,
"l3Percent": {
"low": 20,
"mid": 30,
"high": 50
},
"memBandPercent": {
"low": 10,
"mid": 30,
"high": 50
}
},
"blkioConfig": {
"enable": false
},
"memoryConfig": {
"enable": true,
"strategy": "none",
"checkInterval": 5
}
}
常用配置项说明:
配置键 [=默认值] | 类型 | 描述 | 示例值 |
---|---|---|---|
autoCheck=false | bool | 自动检查开关,自动纠正因故障等原因导致的错误配置 | false, true |
logDriver=stdio | string | 日志驱动,支持标准输出和文件 | stdio, file |
logDir=/var/log/rubik | string | 日志保存目录 | /var/log/rubik |
logSize=1024 | int | 总日志大小,单位 MB,适用于 logDriver=file | [10, 2**20] |
logLevel=info | string | 日志级别 | debug, info, error |
cgroupRoot=/sys/fs/cgroup | string | 系统 cgroup 挂载点路径 | /sys/fs/cgroup |
cacheConfig | map | 动态控制 CPU 高速缓存模块(dynCache)的相关配置 | 无 |
.enable=false | bool | dynCache 功能启用开关 | false, true |
.defaultLimitMode=static | string | dynCache 控制模式 | static, dynamic |
.adjustInterval=1000 | int | dynCache 动态控制间隔时间,单位 ms | [10, 10000] |
.perfDuration=1000 | int | dynCache 性能 perf 执行时长,单位 ms | [10, 10000] |
.l3Percent | map | dynCache 控制中 L3 各级别对应水位(%) | 无 |
..low=20 | int | L3 低水位组控制线 | [10, 100] |
..mid=30 | int | L3 中水位组控制线 | [low, 100] |
..high=50 | int | L3 高水位组控制线 | [mid, 100] |
.memBandPercent | map | dynCache 控制中 MB 各级别对应水位(%) | 无 |
..low=10 | int | MB 低水位组控制线 | [10, 100] |
..mid=30 | int | MB 中水位组控制线 | [low, 100] |
..high=50 | int | MB 高水位组控制线 | [mid, 100] |
blkioConfig | map | IO 控制模块相关配置 | 无 |
.enable=false | bool | IO 控制模块使能开关 | false, true |
memoryConfig | map | 内存控制模块相关配置 | 无 |
.enable=false | bool | 内存控制模块使能开关 | false, true |
.strategy=none | string | 内存动态分级回收控制策略 | none, dynlevel, fssr |
.checkInterval=5 | string | 内存动态分级回收控制策略检测间隔 | (0, 30] |
文档捉虫