c++如何利用C++23的std--expected重构传统的文件IO报错代码【进阶】

应先用 ps 或 pmap 查 mysqld 进程 RSS 内存,而非仅调大 innodb_buffer_pool_size;RSS 超物理内存 80% 或远超配置参数总和时,需排查连接泄漏、临时表滥用、performance_schema 开销等隐性内存消耗。查 mysqld 进程实际内存占用,别只看 SHOW VARIABLESMySQL 报 Out of memory 时,很多人第一反应是调大 innodb_buffer_pool_size,结果反而更早崩。真实内存消耗不只来自这个参数------mysqld 进程的 RSS 内存可能远超所有"可配置内存参数"之和。真正该先做的,是用系统命令看进程实占:ps -o pid,rss,vsz,comm -C mysqld 或 pmap -x $(pgrep mysqld)。RSS 超过物理内存 80% 就危险;若 RSS 比 innodb_buffer_pool_size + key_buffer_size + sort_buffer_size * max_connections 大出一倍以上,说明有隐性内存泄漏或连接数失控。每个连接独占 sort_buffer_size、read_buffer_size、join_buffer_size 等线程级缓冲区,max_connections = 1000 且 sort_buffer_size = 4M 就可能吃掉 4GBtmp_table_size 和 max_heap_table_size 控制内存临时表上限,但没设限的查询(如没加 LIMIT 的 GROUP BY)会把整张中间结果塞进内存开启 performance_schema 后,尤其在高并发下,其内部结构本身会吃掉几百 MB,且无法通过 SQL 关停定位触发 OOM 的具体查询:从 slow_query_log 到 performance_schema不是所有慢查询都吃内存,但吃内存的查询往往很慢,而且 Rows_examined 极高。关键要区分:是单条大查询撑爆内存,还是大量小查询累积耗尽。打开 slow_query_log 并设 log_queries_not_using_indexes = ON,同时重点看 long_query_time = 0(记录所有查询),再配合 pt-query-digest 分析 Rows_examined 和 Tmp_tables 字段。如果某类查询频繁出现 Using temporary; Using filesort 且 Rows_examined > 1e6,基本就是内存黑洞。启用 performance_schema 后,查 performance_schema.memory_summary_by_thread_by_event_name 可看到各线程内存分配峰值,注意 EVENT_NAME LIKE '%memory%' 的行information_schema.PROCESSLIST 中 State 为 Creating tmp table 或 Copying to tmp table 的连接,正在用内存建临时表避免在 WHERE 或 JOIN 条件中对字段用函数(如 DATE(create_time)),这会让索引失效,强制全表扫描+内存排序innodb_buffer_pool_size 不是越大越好,Linux 的 vm.swappiness 会暗中捣鬼设 innodb_buffer_pool_size = 70% RAM 是常见建议,但在容器环境或混部机器上极易翻车。InnoDB 缓冲池是 mmap 分配的匿名内存,Linux 内核不会优先把它换出,而其他进程(比如 Python 应用)的堆内存却容易被 swappiness 换出,导致 MySQL 看似"空闲"却因系统级 swap 延迟卡死。 灵办AI 免费一键快速抠图,支持下载高清图片

相关推荐
默_笙10 小时前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
qq_4260039610 小时前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫10 小时前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技11 小时前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
此时不提桶,更待何时11 小时前
01-06-A-JVM排查实战详解
java·jvm
伞伞悦读11 小时前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
这个DBA有点耶11 小时前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G11 小时前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备11 小时前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
只睡四小时12 小时前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas