如何主动限制 tikv 使用内存量

【 TiDB 使用环境】生产环境 or 测试环境 or POC
【 TiDB 版本】
【遇到的问题】
【复现路径】做过哪些操作出现的问题
【问题现象及影响】

【附件】

请提供各个组件的 version 信息,如 cdc/tikv,可通过执行 cdc version/tikv-server --version 获取。


https://github.com/pingcap/docs-cn/issues/9868

  1. 由于环境原因,内存量小。所以想主动去限制 tikv 内存(通过 k8s limit memroy 会OOM)
  2. 有没有类似于“限流”的手段,去主动降低 tikv 内存使用。

如果通过配置 memory_limit 参数,请问在 k8s operator 中该怎么配置该参数?

@Billmay表妹 help

昨天刚讨论过这个问题

不是用 tiup 部署的,而是用的 operator 部署的。

operator yaml


apiVersion: pingcap.com/v1alpha1
kind: TidbCluster
metadata:
  name: hy-test
  namespace: tidb-cluster-test
  resourceVersion: '70625155'
spec:
  configUpdateStrategy: RollingUpdate
  discovery: {}
  enableDynamicConfiguration: true
  enablePVReclaim: false
  helper:
    image: 'busybox:1.34.1'
  imagePullPolicy: IfNotPresent
  pd:
    baseImage: pingcap/pd
    config: ''
    maxFailoverCount: 0
    replicas: 3
    requests:
      storage: 10Gi
  pvReclaimPolicy: Retain
  tidb:
    baseImage: pingcap/tidb
    config: |
      [log]
        [log.file]
          max-backups = 3
    maxFailoverCount: 0
    replicas: 3
    service:
      type: ClusterIP
  tikv:
    additionalVolumeMounts:
      - mountPath: /var/lib/raftlog
        name: raftlog
      - mountPath: /var/lib/rocksdblog
        name: rocksdblog
    additionalVolumes:
      - emptyDir: {}
        name: raftlog
      - emptyDir: {}
        name: rocksdblog
    baseImage: pingcap/tikv
    config: |
      resource_control:
        memory_limit: "500M"
      [raftdb]
        info-log-dir = "/var/lib/raftlog"

      [rocksdb]
        info-log-dir = "/var/lib/rocksdblog"

      [storage]
        reserve-space = "0MB"
        [storage.block-cache]
          capacity = "500MB"
          shared = true
    maxFailoverCount: 0
    raftLogVolumeName: raftlog
    replicas: 3
    requests:
      storage: 100Gi
    rocksDBLogVolumeName: rocksdblog
    separateRaftLog: true
    separateRocksDBLog: true
  timezone: UTC
  tlsCluster: {}
  version: v5.2.1

这种写法未生效

111111…bbb

SDFASDAFSADFVSCD ASD23423

:arrow_double_up:

好像不行,搭建集群有环境要求的

你先普通环境走通 大概tikv最少10g内存 7g限制内存 2.5g memtable