select count(*) 一个千万级别的大表时,服务器内存、CPU被拉爆

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
在线Tiup部署单机集群 (2C 8G)

【概述】 场景 + 问题概述
通过 TiDB Lightning 迁移了一个大表(1600w条记录),在执行 select count(*) from hyper_transaction_history_fund_202102; 后,服务器内存和cup都达到了100%,刚开始时内存和cpu使用率都很低,在20%以内,并且无法返回执行结果

我想知道为什么会这么耗内存呢,tikv-server服务是将所有数据都存储一份在内存吗,或者是在查询的时候会把相应的数据都查询出来放入内存才这么消耗内存的?

【背景】 做过哪些操作

【现象】 业务和数据库现象

【问题】 当前遇到的问题

【业务影响】

【TiDB 版本】
v4.0.14

【应用软件及版本】

【附件】 相关日志及配置信息

  • TiUP Cluster Display 信息
    Cluster type: tidb
    Cluster name: tidb-test
    Cluster version: v4.0.14
    Deploy user: tidb
    SSH type: builtin
    Dashboard URL: http://172.18.98.18:2379/dashboard
    ID Role Host Ports OS/Arch Status Data Dir Deploy Dir

172.18.98.18:9093 alertmanager 172.18.98.18 9093/9094 linux/x86_64 Up /tidb-data/alertmanager-9093 /tidb-deploy/alertmanager-9093
172.18.98.18:3000 grafana 172.18.98.18 3000 linux/x86_64 Up - /tidb-deploy/grafana-3000
172.18.98.18:2379 pd 172.18.98.18 2379/2380 linux/x86_64 Up|L|UI /tidb-data/pd-2379 /tidb-deploy/pd-2379
172.18.98.18:9090 prometheus 172.18.98.18 9090 linux/x86_64 Up /tidb-data/prometheus-9090 /tidb-deploy/prometheus-9090
172.18.98.18:4000 tidb 172.18.98.18 4000/10080 linux/x86_64 Up - /tidb-deploy/tidb-4000
172.18.98.18:20160 tikv 172.18.98.18 20160/20180 linux/x86_64 Up /tidb-data/tikv-20160 /tidb-deploy/tikv-20160
172.18.98.18:20161 tikv 172.18.98.18 20161/20181 linux/x86_64 Up /tidb-data/tikv-20161 /tidb-deploy/tikv-20161
Total nodes: 7

  • TiUP CLuster Edit config 信息

监控(https://metricstool.pingcap.com/)

  • TiDB-Overview Grafana监控
  • TiDB Grafana 监控
  • TiKV Grafana 监控
  • PD Grafana 监控
  • 对应模块日志(包含问题前后 1 小时日志)

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

具体的配置信息有么? 另外请补充使用的环境的网络配置情况

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。