1.在执行sql过程中,发现内存异常增加,可以怀疑是否存在内存泄漏的问题。通过查询单机层performance_schema.HEAP_USAGE_INFO查看dc/temp/large存在异常的堆内存,然后再详细查询三个堆内存的表select class,count(class),sum(size) from mem_detail_temp/large/cell group by class;准确确定占用内存过多class。
执行release cache,查看dc堆内存是否释放为0
执行refresh tables,查看temp堆是否释放元数据(class为1-7和59)
例如:
gbase> select class,count(class),sum(size) from mem_detail_temp group by class;
+——-+————–+————+
| class | count(class) | sum(size) |
+——-+————–+————+
| 2 | 113627 | 3695952256 |
| 4 | 57524 | 230997016 |
| 6 | 51 | 1911552 |
| 7 | 51 | 119472 |
| 59 | 57637 | 1557532 |
+——-+————–+————+
5 rows in set (Elapsed: 00:00:00.67)
gbase> refresh tables;
Query OK, 0 rows affected (Elapsed: 00:00:00.03)
gbase> select class,count(class),sum(size) from mem_detail_temp group by class;
+——-+————–+————+
| class | count(class) | sum(size) |
+——-+————–+————+
| 2 | 113626 | 3695952128 |
| 4 | 57523 | 230997008 |
| 6 | 51 | 1911552 |
| 7 | 51 | 119472 |
| 59 | 57580 | 1555300 |
+——-+————–+————+
5 rows in set (Elapsed: 00:00:00.91)
2.或者重启集群服务,查看单机层express.log,可能会存在leaked out
例如:
2022-04-25 16:33:21.922 Table ./gctmpdb/metadata/_tmp_2801797642_10_t1_1_1650875345_s, recv locks 0, flush rollback return 3.
2022-04-25 16:37:02.399 Warning: 10 temp memory block(s) leaked out.
2022-04-25 16:37:02.399 size: 134217728 inheap: FALSE class: 115 type: temp addr: 0x818a008
2022-04-25 16:37:02.399 size: 134217728 inheap: FALSE class: 115 type: temp addr: 0x1018c008
2022-04-25 16:37:02.399 size: 134217728 inheap: FALSE class: 115 type: temp addr: 0x1818e008
2022-04-25 16:37:02.399 size: 134217728 inheap: FALSE class: 115 type: temp addr: 0x20190008
2022-04-25 16:37:02.399 size: 134217728 inheap: FALSE class: 115 type: temp addr: 0x28192008
2022-04-25 16:37:02.399 size: 134217728 inheap: FALSE class: 115 type: temp addr: 0x30194008
2022-04-25 16:37:02.399 size: 134217728 inheap: FALSE class: 115 type: temp addr: 0x38196008
2022-04-25 16:37:02.399 size: 134217728 inheap: FALSE class: 115 type: temp addr: 0x40198008
2022-04-25 16:37:02.399 size: 1048576 inheap: TRUE class: 115 type: temp addr: 0x7f021e4ca008
2022-04-25 16:37:02.399 size: 1048576 inheap: TRUE class: 115 type: temp addr: 0x7f021e5cb008
2022-04-25 16:37:02.399 size: 1048576 inheap: TRUE class: 115 type: temp addr: 0x7f021e6cc008
2022-04-25 16:37:02.399 size: 1048576 inheap: TRUE class: 115 type: temp addr: 0x7f021e7cd008
2022-04-25 16:37:02.399 size: 1048576 inheap: TRUE class: 115 type: temp addr: 0x7f021e8ce008
2022-04-25 16:37:02.400 size: 1048576 inheap: TRUE class: 115 type: temp addr: 0x7f021e9cf008
2022-04-25 16:37:02.400 size: 1048576 inheap: TRUE class: 115 type: temp addr: 0x7f021ead0008
2022-04-25 16:37:02.400 size: 1048576 inheap: TRUE class: 115 type: temp addr: 0x7f021ebd1008
2022-04-25 16:37:02.400 size: 1048576 inheap: TRUE class: 115 type: temp addr: 0x7f021ecd2008
2022-04-25 16:37:02.400 size: 134217728 inheap: TRUE class: 115 type: temp addr: 0x7f02308a2008
2022-04-25 16:37:02.400 Warning: 8 system memory block(s) (used when Express memory area ended up) leaked out.
2022-04-25 16:37:02.471 Express Engine Shutdown.
2022-04-25 16:37:07.355 Express Engine Started.
原创文章,作者:kirin,如若转载,请注明出处:https://blog.ytso.com/tech/bigdata/317845.html