你这个服务器内存剩余变化较大啊,是不是 tidb server 服务器上有其他服务再跑啊。理论上 mem quota query 设置服务器内存的 40% 左右就不会出现 oom 的问题。
/proc/meminfo
看下 oom 的阈值多少
tmp 下 file 也是 0 是吗
你这个服务器内存剩余变化较大啊,是不是 tidb server 服务器上有其他服务再跑啊。理论上 mem quota query 设置服务器内存的 40% 左右就不会出现 oom 的问题。
/proc/meminfo
看下 oom 的阈值多少
tmp 下 file 也是 0 是吗
我们为 TiDB 集群创建的是内网 LoadBalancer。我们可在集群 VPC 内创建一台堡垒机访问数据库。
Copy
gcloud compute instances create bastion \
--machine-type=n1-standard-4 \
--image-project=centos-cloud \
--image-family=centos-7 \
--zone=<your-region>-a
注意:
<your-region>-a
为集群所在的区域的 a 可用区,比如 us-central1-a。也可在同区域下的其他可用区创建堡垒机。
待创建好堡垒机后,我们可以通过 SSH 远程连接到堡垒机,再通过 MySQL 客户端来访问 TiDB 集群。
gcloud compute ssh tidb@bastion
sudo yum install mysql -y
mysql -h <tidb-nlb-dnsname> -P 4000 -u root
这个由于信息安全问题不能开放出去,我再直接安装一个tidb4.0版本,看看这几个参数是否可用.
如果可用,那就是3.0升级到4.0后出现的问题。还有其他方式可以查询问题么?
1、之前的版本是从3.0.11使用tiup升级到4.0.5版本测试 oom-use-tmp-storage
, tmp-storage-path
tmp-storage-quota
这三个参数没有起作用。
2、今天我重新使用tiup部署了一个tidb集群版本4.0.5。
mem-quota-query=1G,做了个大sql查询发现还是没有起作用,这边改如何定位到底是什么原因。截图如下
因为你的参数配置是 oom-action: log ,而不是 oom-action: cancel ,所以在处理 oom-action 的时候,只会输出日志,不会真的取消。可以看一下官方文档的介绍。
那意思这个参数是没有作用的是吧,sql的相关操作都只会消耗tidb服务器的内存而不会使用磁盘来减轻tidb-server的压力。
您好,此参数不是所有的 sql 都会生效,目前是针对一些算子, Join/Sort 过程中若使用内存超过 mem-quota-query 阈值时将中间结果写入磁盘 ,多谢。
1、那么针对于大sql没有应用到 Join/Sort的语句,是否有内存使用限制,超过限制的语句转移到磁盘进行计算来减轻内存的使用。
2、后期版本是否有关于tidb-server内存使用的优化。
3、如何查看tidb/tikv/pd各个的配置参数现在使用状态。
多谢,因为我们这边tidb应用到了生产环境,如果有一台tidb-server 因为大查询或是并发导致重启,会影响到其他服务,所以才一直寻求各位的帮助,对各位提出的建议我这边报以感谢。
但是有些问题还需要帮忙给些建议。
1、对于上面的问题可能是我描述的不是太清楚,我想问的是超过限制( mem-quota-query
)的sql,是否会转移到磁盘进行计算来减轻内存的使用,还是只有应用 Join/Sort的语句才会启动临时磁盘。
2、对于tidb-server,oom的问题,是否有哪些配置可以从系统级别做缓解优化,而不影响生产环境服务的正常运行。
3、关于tidb/tikv/pd的配置参数该如何查看全部,类似于我可以查看所有的全局变量而使用SHOW GLOBAL VARIABLES;,那么查看tidb/tikv/pd当前版本具体做了哪些配置该用什么命令查看。
3、tiup ctl pd -u http://10.0.0.0:2379 config show 这个只能看到调度相关的配置项。而tidb-server和tikv相关的配置看不到,还有什么方式可以查看么。
查看tidb.log 和 tikv.log 启动时的信息