GS_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, ");"将某个线程所有内存上下文信息记录到"/tmp/dumpmem"目录下的"threadid_timestamp.log"文件中。其中threadid可通过下表sessid中获得。
表 1 GS_SESSION_MEMORY_DETAIL字段
| 名称 | 类型 | 描述 |
|---|---|---|
| sessid | text | 线程启动时间+线程标识(字符串信息为timestamp.threadid)。 |
| sesstype | text | 线程名称。 |
| contextname | text | 内存上下文名称。 |
| level | smallint | 当前上下文在整体内存上下文中的层级。 |
| parent | text | 父内存上下文名称。 |
| totalsize | bigint | 当前内存上下文的内存总数,单位Byte。 |
| freesize | bigint | 当前内存上下文中已释放的内存总数,单位Byte。 |
| usedsize | bigint | 当前内存上下文中已使用的内存总数,单位Byte;"TempSmallContextGroup"内存上下文中该字段含义为统计计数。 |
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




