首页 > 其他分享 >Optimizing Disk I/O tmp_table_size max_heap_table_size 磁盘使用率

Optimizing Disk I/O tmp_table_size max_heap_table_size 磁盘使用率

时间:2023-06-27 09:58:06浏览次数:58  
标签:tmp MByte 实例 临时文件 table 使用量 size

 

RDS MySQL临时文件导致实例磁盘空间满且出现“锁定中”状态 https://help.aliyun.com/document_detail/101763.html

RDS MySQL临时文件导致实例磁盘空间满且出现“锁定中”状态

更新时间:2023-05-26 11:22 产品详情 相关技术圈  

问题描述

阿里云云数据库RDS MySQL实例由于临时文件占用磁盘空间较多,导致实例的运行状态为“锁定中”。基本信息

问题原因

MySQL实例可能会由于查询语句的排序、分组、关联表产生的临时表文件,或者大事务未提交前产生的binlog cache文件,导致实例磁盘空间满。为避免数据丢失,RDS会将实例锁定,在锁定之后,将无法进行写入操作。

解决方案

在紧急情况下建议扩容实例存储空间,扩容后需要耐心等待一段时间(5分钟左右),方可解锁实例,关于如何升级实例配置,请参见变更配置

若您无法扩容实例存储空间,可以重启实例,释放临时文件。详情请参见重启实例

如果重启实例后,仍然不能解锁,请参考以下操作处理:

  1. 通过DMS连接实例。

  2. 执行以下SQL语句,查看数据库的会话。

     
    show processlist
  3. 单击显示结果中的State,进行状态排序,在状态栏查看是否有大量“Copy to tmp table”、“Sending data”等信息,然后记录该会话的ID值。state

  4. 执行以下SQL语句,终止会话。

     
    kill [$ID];
      说明 

    [$ID]为上一步获取的ID值,注意确认终止该会话不会影响业务。

后续维护

若锁定问题已解决,请参考以下步骤,预防再次出现锁定问题:

  • 在资源不足时,实例自动扩容存储空间,详情请参见设置存储空间自动扩容

  • 针对查询产生的临时文件,应该优化SQL语句,避免频繁使用order by、group by操作,可以适当的将tmp_table_size和max_heap_table_size值调大,但是为了减少磁盘使用而调高tmp_table_size和max_heap_table_size并不明智,因为内存资源远比磁盘资源宝贵。您可以通过explain加SQL语句查看是否使用内部临时表,示例如下,在Extra字段中有“Using temporary”字样,则代表会使用内部临时表。

     
    explain select * from alarm group by created_on order by default;

    系统显示类似如下。系统显示类

  • 针对binlog cache,应该减少执行大事务的情况,尤其应该减少在多个连接同时执行大事务的情况,如果大事务比较多,可以适当将binlog_cache_size值调大,但是同样不建议为了节省磁盘空间调整这个参数,建议使用短连接执行大事务,降低临时空间开销。

  • 建议您监控磁盘使用率,及时清理数据或进行数据拆分,使磁盘使用率不超过80%。

更多信息

若您暂时无法清理临时文件进行解锁,您可以清理其他类型的文件,降低磁盘空间使用率,如下所示:

常见问题

Q:如果实例基本信息页中,重启实例按钮不可用,该如何处理?

A:您可以通过如下方式触发实例重启:

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧导航栏单击参数设置。

  3. 在可修改参数标签页,查看是否重启列,找到一个该列取值为是的参数进行修改。

 

 

 

MySQL存储空间使用量(MB)
指标 单位 含义
relaylog_size MByte relay log使用量
redolog_size MByte redo log使用量
sys_data_size MByte 系统数据库数据量
ins_size MByte MySQL 实例总空间使用量
temp_file_size MByte 临时文件数据量
undolog_size MByte undo log使用量
general_log_size MByte general log使用量
binlog_size MByte binlog使用量
slowlog_size MByte slow log使用量
user_data_size MByte 用户数据库数据量

 存储空间 磁盘使用率

 

 

 

 

 

 

 

翻译

搜索

复制

标签:tmp,MByte,实例,临时文件,table,使用量,size
From: https://www.cnblogs.com/papering/p/17507865.html

相关文章

  • vs版本与version(内部版本号)的关系表table
    为什么要查vs版本与内部verion的对应关系?因为c++的项目需要对应的vs版本,给大型的c++项目升级vs版本是个耗时的工程,所以一般情况下开发者都会安装多个版本的vs。对于sln文件,以文本形式打开,可以看到一个version,这个是vs内部版本号,而我们安装电脑上的是以年份命名的版本。vs版本......
  • C# DataTable. AsEnumerable()使用
    C#DataTable.AsEnumerable()使用 1.添加引用System.Data.DataSetExtensions2.可以将DataTable转成List使用vardata=dt.AsEnumerable().ToList();foreach(vartempindata){GuidA=temp.Field<Guid>("A");stringB=temp.Field<string>("B");......
  • DataTable
    项目中好多都用DataTable,所以我来记录一下DataTable的一些优点,及使用方法。一、DataTable是什么?DataTable是一个临时保存数据的网格虚拟表,表示内存中数据的一个表,是一个二维表,也是一个后台数据源和前台显示之间的适配器。二、常用的属性及方法1.常用属性CaseSensitive指......
  • nginx RTMP推拉流,多个音频流合并。
    使用nginxRTMP(nginx的一个插件模块,具体的网上搜一下)做一个简易的多人音频通话流媒体服务器,多个端通话时,客户端无法处理其他端发过来的音频流,比如A、B、C三个端通话,A设备同时持有B、C的音频流,这样对设备端非常的不友好。这时候就需要用到一个强大的工具,FFMPEG,安装网上很多,搜下就......
  • FFmpeg混流及录制rtmp直播流
    1、什么是混流?混流就是把多路音视频流合成单流。准确的说,混流应该叫做混音(音频流)混画面(视频流)混流的过程包括解码、混流、编码和推流四个部分。混流这个环节包括做抖动缓冲,目的是把多路流进行画面对齐和音画同步,同时通过缓冲对抗网络抖动,以便混合成一路流以后能够达到良好的效果。......
  • Element-table表格末尾按指定列合计的实现方法
    getSummaries(param){const{columns,data}=paramconstsums=[]columns.forEach((column,index)=>{if(index===1){sums[index]='合计'return}constvalues=data.map(it......
  • Pytorch | 输入的形状为[seq_len, batch_size, d_model]和 [batch_size, seq_len, d_m
    首先导入依赖的torch包。importtorch我们设:seq_len(序列的最大长度):5batch_size(批量大小):2d_model(每个单词被映射为的向量的维度):10heads(多头注意力机制的头数):5d_k(每个头的特征数):21、输入形状为:[seq_len,batch_size,d_model]input_tensor=torch.randn(5,2,10)inp......
  • 在 BI 工具 Tableau 中使用 databend
    Tableau是一款流行的数据可视化和业务智能工具。它提供了直观、交互式的方式来探索、分析和呈现数据,帮助用户更好地理解数据的意义和洞察。本教程帮助用户在Tableau中连接databend进行BI数据分析。DatabendjdbcTableau支持所有实现了JDBC协议的数据源,所以需要先准备......
  • ltgtt_create_temp_table 实现逻辑分析
    本文主要分析lightdb全局临时表实现时使用到的函数ltgtt_create_temp_table.通过makeNode函数创建TableLikeClause和CreateStmt.createtablelt_gtt_schema_123456_6.g_foo(likepublic.g_foo);TableLikeClause对应上面的(likepublic.g_foo);CreateStmt对应上......
  • ceph相关问题记录:1 MDSs report oversized cache
    遇到问题:使用vdbench压测ceph目录,期间会进行海量小文件的创建,当达到10亿+数量时,集群出现警告1MDSsreportoversizedcache其实根据字面意思不难看出,是因为mds内存不够导致解决方法查看一下当前mds内存限制mds_cache_memory_limit是4G,报警阈值mds_health_cache_thresho......