MySQL一般通过什么指标去监控除常驻内存外的内存使用量?
一些常驻内存项例如ibp、xcom cache、内存分配管理器等,会长时间保持在高水位,这导致了内存监控不能够有效的反应当前实际用量,并且会长期触发内存监控告警。那么一般是通过什么指标去监控除常驻内存、共享内存外的内存使用量呢?MySQL提供的5个内存汇总表似乎存在着重叠的部分,并且各个汇总表内实际上是包括了一些共享内存的
其实直接观察OS层mysqld进程的内存消耗就可以。
或者观察sys.memory_global_total视图。 yejr 发表于 2022-8-25 13:58
其实直接观察OS层mysqld进程的内存消耗就可以。
或者观察sys.memory_global_total视图。 ...
观察OS层mysqld进程内存消耗不太准,有一部分因为内存管理器(ptmalloc)的原因没有释放,实际使用内存是要少一些的
sys.memory_global_total实际上是用了memory_summary_global_by_event_name的汇总,请问这个汇总表会把用户连接线程使用的内存(join_buffer等等)一起计算吗?:'( 本帖最后由 Johopig 于 2022-8-25 17:32 编辑
Johopig 发表于 2022-8-25 17:05
观察OS层mysqld进程内存消耗不太准,有一部分因为内存管理器(ptmalloc)的原因没有释放,实际使用内存是 ...
现在观察memory_summary_global_by_event_name和memory_summary_by_user_by_event_name的汇总似乎是不重叠的,group by event name后sql的内存用量在global汇总表和user汇总表里完全不一样:'(
Johopig 发表于 2022-8-25 17:23
现在观察memory_summary_global_by_event_name和memory_summary_by_user_by_event_name的汇总似乎是不重叠 ...
看下sum的总量呢 本帖最后由 Johopig 于 2022-8-26 10:58 编辑
yejr 发表于 2022-8-26 09:23
看下sum的总量呢
你好,请问sum的总量指的是
1. sum(5个汇总表的current_bytes_used);
2. sum(global+user);
3. sum(global)
如果是第1点的话加起来已经超出了当前进程显示的内存使用量;
如果是需要第2点这样操作,因为sys.memory_global_total = global汇总表,是不是代表着官方文档中sys.memory_global_total描述是不准确的
最后麻烦您,我其实想确认的是如何监控整个MySQL当前的实际使用量(排除内存管理器的干扰),因为我看sys.memory_global_total显示的和当前进程显示的内存使用量差别好大,而且过了很长时间也还是保持这个差别:'(
页:
[1]