Long-Term Supported Versions

    Rubik Configuration Description

    Basic Configuration Description

    The Rubik program is written in Go and compiled into a static executable file to minimize the coupling with the system.

    Besides the -v option for querying version information, Rubik does not support other options. The following is an example of version query output:

    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 parses configuration file /var/lib/rubik/config.json upon process startup. Custom configuration file path is currently not supported to avoid confusion.

    The configuration file is in JSON format and keys are in lower camel case.

    An example configuration file is as follows:

    {
      "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
      }
    }
    

    Common configuration items:

    key[=default_value]TypeDescriptionExample Value
    autoCheck=falseboolWhether to automatically rectify incorrect configurations caused by errors.false, true
    logDriver=stdiostringLog driver, which can be the standard I/O or file.stdio, file
    logDir=/var/log/rubikstringLog directory/var/log/rubik
    logSize=1024intTotal size of logs in MB when logDriver=file[10, 2**20]
    logLevel=infostringLog leveldebug, info, error
    cgroupRoot=/sys/fs/cgroupstringMount point of the system cgroup/sys/fs/cgroup
    cacheConfigmapConfigurations of the CPU cache dynamic control module (dynCache)Non
    .enable=falseboolWhether to enable dynCachefalse, true
    .defaultLimitMode=staticstringdynCache control modestatic, dynamic
    .adjustInterval=1000intInterval for dynCache control, in milliseconds[10, 10000]
    .perfDuration=1000intperf execution duration for dynCache, in milliseconds[10, 10000]
    .l3PercentmapWatermarks of each L3 cache level of dynCache in %Non
    ..low=20intWatermark of the low L3 cache level[10, 100]
    ..mid=30intWatermark of the middle L3 cache level[low, 100]
    ..high=50intWatermark of the high L3 cache level[mid, 100]
    .memBandPercentmapWatermarks of each memory bandwidth level of dynCache in %Non
    ..low=10intWatermark of the low bandwidth level[10, 100]
    ..mid=30intWatermark of the middle bandwidth level[low, 100]
    ..high=50intWatermark of the high bandwidth level[mid, 100]
    blkioConfigmapConfigurations of the I/O control moduleNon
    .enable=falseboolWhether to enable the I/O control modulefalse, true
    memoryConfigmapConfigurations of the memory control moduleNon
    .enable=falseboolWhether to enable the memory control modulefalse, true
    .strategy=nonestringDynamic reclamation strategy for memory of different levelsnone, dynlevel, fssr
    .checkInterval=5stringDynamic reclamation strategy check interval(0, 30]

    Bug Catching

    Buggy Content

    Bug Description

    Submit As Issue

    It's a little complicated....

    I'd like to ask someone.

    PR

    Just a small problem.

    I can fix it online!

    Bug Type
    Specifications and Common Mistakes

    ● Misspellings or punctuation mistakes;

    ● Incorrect links, empty cells, or wrong formats;

    ● Chinese characters in English context;

    ● Minor inconsistencies between the UI and descriptions;

    ● Low writing fluency that does not affect understanding;

    ● Incorrect version numbers, including software package names and version numbers on the UI.

    Usability

    ● Incorrect or missing key steps;

    ● Missing prerequisites or precautions;

    ● Ambiguous figures, tables, or texts;

    ● Unclear logic, such as missing classifications, items, and steps.

    Correctness

    ● Technical principles, function descriptions, or specifications inconsistent with those of the software;

    ● Incorrect schematic or architecture diagrams;

    ● Incorrect commands or command parameters;

    ● Incorrect code;

    ● Commands inconsistent with the functions;

    ● Wrong screenshots.

    Risk Warnings

    ● Lack of risk warnings for operations that may damage the system or important data.

    Content Compliance

    ● Contents that may violate applicable laws and regulations or geo-cultural context-sensitive words and expressions;

    ● Copyright infringement.

    How satisfied are you with this document

    Not satisfied at all
    Very satisfied
    Submit
    Click to create an issue. An issue template will be automatically generated based on your feedback.
    Bug Catching
    编组 3备份