AWS RDS MySQL内存使用
1. AWS RDS所拥有的内存(实例类型),和数据库能够使用的内存是不同的。RDS实例为操作系统和 RDS 管理进程预留了内存,数据库使用内存大小,小于数据库实例类的硬件规格中所示的值(以 GiB 为单位)[1]:
详见参考文档[1]中的“DBInstanceClassMemory”:
[1] Amazon RDS 的配额和限制 - Amazon Relational Database Service
2. DBInstanceClassMemory 的75%用于 InnoDB Buffer Pool 缓冲池空间,也就是innodb_buffer_pool_size. 默认情况下,innodb_buffer_pool_size 最多会使用分配给 Amazon RDS 数据库实例的 75% 的可用内存[2]:
innodb_buffer_pool_size = {DBInstanceClassMemory*3/4}
但是如果我们想降低innodb_buffer_pool_size的值,那么我们可以自建一个参数组,然后修改自定义参数组中的参数值来降低这个值[2]。
[2] 参数组相关文档:
Amazon RDS 的参数组 - Amazon Relational Database Service
3. 文档[3]中有个关于AWS RDS MySQL的内存使用的介绍,写得很详细:
在 Amazon RDS for MySQL 中,您可以监控四种内存状态:
- **使用中:**数据库进程或线程正在使用的内存。
- **缓冲区:**缓冲区是内存中的临时空间,用于存放数据块。
- **可用内存:**可供使用的内存。
- **缓存:**缓存是一种将数据临时存储在内存中的技术,以便快速检索数据。
我们可以按以下示例计算 RDS for MySQL 数据库实例的大致内存使用量:
Maximum MySQL Memory Usage = innodb_buffer_pool_size + key_buffer_size + ((read_buffer_size + read_rnd_buffer_size + sort_buffer_size + join_buffer_size) X max_connections)
[3] https://repost.aws/zh-Hans/knowledge-center/low-freeable-memory-rds-mysql-mariadb
4. 对于原生MySQL引擎如何使用Memory,可以参考文档[4]:
[4] MySQL :: MySQL 5.7 Reference Manual :: 8.12.4.1 How MySQL Uses Memory
在原生 performance schema中,和内存监控相关的表以及含义[5]:
- memory_summary_by_account_by_event_name - USER、HOST 和 EVENT_NAME 三列。 每行汇总给定账户(用户和主机组合)和事件名称的事件。
- memory_summary_by_host_by_event_name - HOST 和 EVENT_NAME 列。 每行汇总给定主机和事件名称的事件。
- memory_summary_by_thread_by_event_name - THREAD_ID 和 EVENT_NAME 列。 每行汇总给定线程和事件名称的事件。
- memory_summary_by_user_by_event_name - USER 和 EVENT_NAME 列。 每行汇总给定用户和事件名称的事件。
- memory_summary_global_by_event_name 具有 EVENT_NAME 列。 每行从Memory Event(内存事件)本身,统计全局的内存信息。
常用的内存占用排查语句如下:
//-- 按照事件类型来筛选出实例整体内存占用top 20的事件:
select event_name,CURRENT_NUMBER_OF_BYTES_USED/1024/1024 from performance_schema.memory_summary_global_by_event_name order by CURRENT_NUMBER_OF_BYTES_USED desc LIMIT 20;//-- 以线程维度,对占用内存大小较高的线程事件进行排序:
select thread_id,event_name,CURRENT_NUMBER_OF_BYTES_USED/1024/1024 from performance_schema.memory_summary_by_thread_by_event_name order by CURRENT_NUMBER_OF_BYTES_USED desc limit 20;
5. 文档[6] 当中有一些RDS MySQL内存使用的调整的Best Practice,是一个非常好的文章:
[6] Best practices for configuring parameters for Amazon RDS for MySQL, part 1: Parameters related to performance | AWS Database Blog
相关文章:
AWS RDS MySQL内存使用
1. AWS RDS所拥有的内存(实例类型),和数据库能够使用的内存是不同的。RDS实例为操作系统和 RDS 管理进程预留了内存,数据库使用内存大小,小于数据库实例类的硬件规格中所示的值(以 GiB 为单位)[…...
Vue指令:v-else、v-else-if
目录 1.语法: 2. 题目 3.页面展示 4.结构 1.语法: 1.作用:辅助v-if进行判断渲染 2.语法:v-else 、v-esle-if"表达式" 2. 题目 <!DOCTYPE html> <html lang"en"> <head><meta chars…...
基于SSM志愿者招募系统的设计
管理员账户功能包括:系统首页,个人中心,用户管理,志愿组织管理,组织信息管理,组织申请管理,志愿活动管理活动报名管理 用户账号功能包括:系统首页,个人中心,…...
数学建模与优化算法:从基础理论到实际应用
数学建模和优化算法,它们不仅帮助我们理解和描述复杂系统的行为,还能找到系统性能最优化的解决方案。本文将从基础的数学理论出发,逐步深入到各种优化算法,并探讨它们在实际问题中的应用。 思维导图文件可获取:https:…...
微信小程序生成二维码
目前是在开发小程序端 --> 微信小程序。然后接到需求:根据 form 表单填写内容生成二维码(第一版:表单目前需要客户进行自己输入,然后点击生成按钮实时生成二维码,不需要向后端请求,不存如数据库…...
自由软件与开源软件:异同与联系
自由软件与开源软件:异同与联系 随着信息技术的快速发展,自由软件运动与开源软件运动成为推动软件开发领域变革的重要力量。虽然这两个概念在日常对话中常被交替使用,但它们各自有着不同的理念和发展历程。本文将探讨自由软件运动与开源软件…...
Vue中ref、reactive、toRef、toRefs的区别
一、ref、reactive setup 函数中默认定义的变量并不是响应式的(即数据变了以后页面不会跟着变),如果想让变量变为响应式的变量,需要使用 ref 和 reactive 函数修饰变量。 ref 函数可以把基本类型变量变为响应式引用reactive 函数…...
凸极式发电机的相量图分析和计算,内功率因数角和外功率因数角和功角的定义。
图1:同步发电机稳态相量图 若发电机为凸极式,由于凸极机正、交轴同步电抗不等,即xd≠xq,因此必须先借助虚构电动势 E ˙ Q E ˙ q − ( x d − x q ) I ˙ d \dot{E}_Q\dot{E}_q-(x_d-x_q)\dot{I}_d E˙QE˙q−(xd−xq)…...
systemctl restart NetworkManager 重启后,文件/etc/resolv.conf修改失败
如果你在重启 NetworkManager 之后发现无法修改 /etc/resolv.conf 文件,这是因为 NetworkManager 会自动管理这个文件 为了解决这个问题,你可以采取以下两种方法之一: 方法一:禁用 NetworkManager 服务 使用以下命令停止 NetworkManager 服务:sudo systemctl stop Netwo…...
Admin.NET源码学习(5:swagger使用浅析)
直接启动Admin.NET.Web.Entry项目,会弹出swagger登录验证框,虽然采用Furion简化了项目加载过程及配置,但是学习源码过程就比较恼火,很多设置及功能搞不清楚到低是怎么启用的,本文记录学习Admin.NET项目中swagger的设置…...
在 openEuler 22.03 服务器上搭建 web 服务教程
一、项目背景与目标 在当今数字化时代,web 服务的搭建对于企业和个人来说都具有至关重要的意义。本项目旨在在 openEuler 22.03 服务器上搭建一个稳定、高效的 web 服务,以满足特定的业务需求。具体目标如下: 在 openEuler 22.03 服务器上成功安装和配置 Apache web 服务器…...
如何取消自动配置ipv4地址:步骤详解与实用指南
在现代网络环境中,自动配置IPv4地址(APIPA,即自动专用IP寻址)虽然为设备连接提供了便利,但在某些特定场景下,如服务器配置、网络故障排除等,手动设置静态IP地址成为必要之选。自动配置的IPv4地址…...
医院信息化与智能化系统(15)
医院信息化与智能化系统(15) 这里只描述对应过程,和可能遇到的问题及解决办法以及对应的参考链接,并不会直接每一步详细配置 如果你想通过文字描述或代码画流程图,可以试试PlantUML,告诉GPT你的文件结构,让他给你对应…...
小红书笔记详情API接口系列(概述到示例案例)
小红书笔记详情数据API接口是小红书开放平台提供的一项服务,允许开发者获取小红书上的笔记详情数据。以下是对该接口及其使用方法的详细介绍: 一、接口概述 小红书笔记详情数据API接口提供了一系列的接口,允许开发者获取笔记的标题、正文、标…...
跨境电商平台系统开发
随着全球化的不断深入,跨境电商作为新兴的商业模式,越来越受到企业和消费者的关注。跨境电商平台的系统开发不仅涉及技术层面的挑战,更涉及到法律、物流、支付等多方面的因素。商淘云将分享跨境电商平台系统开发的主要环节,包括需…...
开源模型应用落地-qwen模型小试-Qwen2.5-7B-Instruct-玩转ollama-Modelfile文件(二)
一、前言 在AI大模型百花齐放的时代,很多人都对新兴技术充满了热情,渴望尝试。然而,实际上要入门AI技术的门槛非常高。除了需要高端设备外,还需要面对复杂的部署和安装过程,这让许多人望而却步。在这样的背景下,Ollama的出现为广大开发者和爱好者提供了一条便捷的道路,极…...
链表详解(一)
目录 顺序表的问题及思考链表链表的概念及结构链表的分类单链表的实现链表功能实现遍历链表void SLTprint(SLNode* phead)代码 创造新节点SLNode* CreateNode(SLNDataType x)代码 顺序表的问题及思考 中间/头部的插入删除,时间复杂度为O(N),效率低,但是尾部插入效率…...
npm入门教程6:npm脚本
一、npm脚本的基本用法 定义脚本 在package.json文件的scripts字段中,你可以定义多个脚本命令。每个脚本都是一个键值对,其中键是脚本的名称,值是要执行的命令。例如: "scripts": {"start": "node index…...
用Python脚本执行安卓打包任务
这个样例是基于windows系统写的python打包安卓的脚本: 一、配置AndroidStudio下的打包任务 1.在Android项目根目录下的build.gradle文件配置生成Release包的任务: task cleanAll(type: Delete) {delete rootProject.buildDirrootProject.subprojects.e…...
制作安装k8s需要的离线yum源
制作安装k8s需要的离线yum源 添加docker在线源制作安装k8s命令行工具需要的离线yum源传到内网k8s节点,通过如下命令导出镜像: 要全内网环境安装docker、k8s和相关依赖,需要在内部提供安装k8s、docker需要的yum源 添加docker在线源 yum-confi…...
Oracle 19c单实例安装后,别忘了做这5个安全与性能基础配置(CentOS 7版)
Oracle 19c单实例安装后的5个关键安全与性能配置指南(CentOS 7环境) 刚完成Oracle 19c的安装只是数据库管理的第一步。许多初级DBA常犯的错误是认为安装成功就意味着工作结束,实际上默认配置往往存在严重的安全漏洞和性能隐患。本文将带您完成…...
【免费下载】 新概念英语第三册资源集合
新概念英语第三册资源集合 【下载地址】新概念英语第三册资源集合 新概念英语第三册资源集合 项目地址: https://gitcode.com/open-source-toolkit/8a5ad 资源介绍 本仓库提供了一系列新概念英语第三册(New Concept English 3)的资源文件&#x…...
用STM32F103和继电器DIY智能家居:低成本改造台灯/风扇的保姆级教程
用STM32F103和继电器DIY智能家居:低成本改造台灯/风扇的保姆级教程 智能家居的概念早已不再遥不可及,借助STM32F103这样的低成本微控制器和简单的继电器模块,任何人都能将普通家电升级为智能设备。本文将手把手教你如何将一个普通台灯或风扇改…...
告别默认界面:5分钟定制你的ArcGIS Pro插件按钮图标与提示信息
5分钟打造专业级ArcGIS Pro插件:从默认按钮到定制化交互体验 当你的ArcGIS Pro插件在Ribbon界面上呈现出与系统原生工具一致的专业外观时,用户的第一印象会完全不同。一个精心设计的按钮图标、清晰的工具提示和合理的功能分组,能让你的插件从…...
瑞萨RZ/V2N:15 TOPS能效比AI视觉芯片,赋能边缘智能应用
1. 瑞萨RZ/V2N:一颗为“看得懂”而生的中端AI视觉芯在嵌入式视觉AI这个赛道上,开发者们常常面临一个经典的“选择题”:是追求极致的性能,上马功耗和成本都更高的高端方案,还是为了控制预算和功耗,在性能上做…...
扩散模型在机器人控制中的多模态优化应用
1. 扩散模型在近似模型预测控制中的创新应用在机器人控制领域,模型预测控制(MPC)因其优秀的约束处理能力和优化性能而广受青睐。然而,传统MPC需要在线求解优化问题,计算成本高昂,难以满足高速实时控制的需求…...
电钢琴初学者买琴不踩坑攻略:高性价比型号清单及避坑推荐
一、「绝对不能踩的坑」(新手常犯的4个错误) 1.预算陷阱:低于1000元的「玩具琴」不能买 1000元以下的电钢琴,大多是手感音色差、会毁手型,浪费钱。 2.键盘:必须选「88键逐级重锤配重」 电钢琴的核心是「…...
如何零风险升级SillyTavern:保护角色数据完整的终极指南
如何零风险升级SillyTavern:保护角色数据完整的终极指南 【免费下载链接】SillyTavern LLM Frontend for Power Users. 项目地址: https://gitcode.com/GitHub_Trending/si/SillyTavern 还在为SillyTavern版本更新而提心吊胆吗?担心升级过程中珍贵…...
接入Taotoken多模型路由后服务端响应稳定性提升感受
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 接入Taotoken多模型路由后服务端响应稳定性提升感受 1. 背景:生产环境对AI服务稳定性的需求 在构建依赖大模型API的生…...
Armv9 SME2架构下BFloat16计算优化与机器学习加速
1. SME2指令集与BFloat16计算优化解析在Armv9架构的SME2扩展中,BFloat16(简称BF16)支持成为机器学习加速的关键特性。这种16位浮点格式通过截断IEEE 754单精度浮点的尾数位(从23位减至7位),同时保留完整的8…...
