更新时间:2024-09-02 GMT+08:00

内存管理函数

内存管理函数仅9.1.0及以上集群版本支持。

pg_shared_chunk_detail(contextname char(64))

描述:查询指定共享内存下内存上下文申请的所有chunk信息。

参数contextname,表示内存上下文名称。

使用该函数需先使用pg_shared_chunk_dump(contextname char(64))函数将相关信息打印成文件。

返回值类型:record

示例:

1
2
3
4
5
6
7
8
SELECT * FROM pg_shared_chunk_detail('pgstat file hash table');
       parent        | level |  file_name   | line_number | chunk_size | requested_number | total_size 
---------------------+-------+--------------+-------------+------------+------------------+------------
 pgstat file context |     2 | dynahash.cpp |         158 |       2048 |                1 |       2048
 pgstat file context |     2 | dynahash.cpp |         158 |        256 |                1 |        256
 pgstat file context |     2 | dynahash.cpp |         158 |       4096 |                9 |      36864
 pgstat file context |     2 | dynahash.cpp |         158 |       8192 |                4 |      32768
(4 rows)

pv_session_chunk_detail(tid int, contextname char(64))

描述:查询指定线程创建的某个内存上下文申请的所有chunk信息。

参数tid,表示线程ID;参数contextname,表示内存上下文名称。

使用该函数需使用pv_session_chunk_dump(tid int, contextname char(64))函数将相关信息打印成文件。

返回值类型:record

示例:

1
2
3
4
5
6
7
8
9
SELECT * FROM pv_session_chunk_detail(140178810990936, 'Timezones');
      parent      | level |   file_name   | line_number | chunk_size | requested_number | total_size 
------------------+-------+---------------+-------------+------------+------------------+------------
 TopMemoryContext |     1 | dynahash.cpp  |         158 |       1280 |                2 |       2560
 TopMemoryContext |     1 | dynahash.cpp  |         158 |        160 |                1 |        160
 TopMemoryContext |     1 | dynahash.cpp  |         158 |       2560 |                2 |       5120
 TopMemoryContext |     1 | localtime.cpp |        1965 |        128 |                1 |        128
 TopMemoryContext |     1 | localtime.cpp |        1965 |        448 |                1 |        448
(5 rows)

pg_shared_chunk_dump(contextname char(64))

描述:将指定共享内存下内存上下文申请的所有chunk信息打印成文件。

参数contextname,表示内存上下文名称。

返回值类型:boolean

示例:

1
2
3
4
5
SELECT * FROM pg_shared_chunk_dump('pgstat file hash table');
 pg_shared_chunk_dump 
----------------------
         t
(1 row)

pv_session_chunk_dump(tid int, contextname char(64))

描述:将指定线程创建的某个内存上下文申请的所有chunk信息打印成文件。

参数tid,表示线程ID;参数contextname,表示内存上下文名称。

返回值类型:boolean

示例:

1
2
3
4
5
SELECT * FROM pv_session_chunk_dump(140472797325280, 'Timezones');
 pv_session_chunk_dump 
-----------------------
 t
(1 row)