华为云云数据库GaussDBGS_SESSION_MEMORY_DETAIL_云淘科技

GS_SESSION_MEMORY_DETAIL统计会话的内存使用情况,以MemoryContext节点来统计。当开启线程池(enable_thread_pool = on)时,该视图包含所有的线程和会话的内存使用情况。当GUC参数enable_memory_limit的值为off时,本视图不可用。

其中内存上下文“TempSmallContextGroup”,记录当前线程中所有内存上下文字段“totalsize”小于8192字节的信息汇总,并且内存上下文统计计数记录到“usedsize”字段中。所以在视图中,“TempSmallContextGroup”内存上下文中的“totalsize”和“freesize”是该线程中所有内存上下文“totalsize”小于8192字节的汇总总和,usedsize字段表示统计的内存上下文个数。

可通过”select * from gs_session_memctx_detail(threadid, ”);”将某个线程所有内存上下文信息记录到“$GAUSSLOG/pg_log/${node_name}/dumpmem”目录下的“threadid_timestamp.log”文件中。其中threadid可通过下表sessid中获得。

表1 GS_SESSION_MEMORY_DETAIL字段

名称

类型

描述

sessid

text

关闭线程池(enable_thread_pool = off)时该字段表示线程启动时间+session标识(字符串信息为timestamp.sessionid)。
开启线程池(enable_thread_pool = on)时,内存上下文是线程级别的,则对应的该字段表示线程启动时间+线程标识(字符串信息为timestamp.threadid),内存上下文是session级别的,则对应的该字段表示线程启动时间+session标识(字符串信息为timestamp.sessionid)。

sesstype

text

线程名称。

contextname

text

内存上下文名称。

level

smallint

当前上下文在整体内存上下文中的层级。

parent

text

父内存上下文名称。

totalsize

bigint

当前内存上下文的内存总数,单位Byte。

freesize

bigint

当前内存上下文中已释放的内存总数,单位Byte。

usedsize

bigint

当前内存上下文中已使用的内存总数,单位Byte;“TempSmallContextGroup”内存上下文中该字段含义为统计计数。

该视图为运维视图,用于定位内存问题时使用,不要并发查询该视图,并发查询该视图会随着并发数的增多导致新连接接入等待时间增加,长时间无法接入。

父主题: 系统视图

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家