Updated on 2025-05-29 GMT+08:00

Global SysCache Parameters

enable_global_syscache

Parameter description: Specifies whether to enable the global system cache function.

Parameter type: Boolean.

Unit: none

Value range:

  • on indicates that the global system cache function is enabled.
  • off indicates that the global system cache function is disabled.

Default value: on

Setting method: This is a POSTMASTER parameter. Set it based on instructions provided in Table 1.

Setting suggestion: Retain the default value. Enabling the global system cache function can reduce the system cache memory usage and improve the concurrent expansion capability. If this parameter is enabled, global_syscache_threshold must be used together. In this case, the thread pool mode is recommended. After this parameter is enabled, you are advised to set wal_level of the standby node to hot_standby or higher level if you need to access the standby node.

Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.

global_syscache_threshold

Parameter description: Specifies the maximum memory usage of the global system cache. To use this parameter, you need to enable the enable_global_syscache parameter.

Parameter type: integer

Unit: KB

Value range: 16384 to 1073741824

Default value: 163840 (160 MB)

Setting method: This is a SIGHUP parameter. Set it based on instructions provided in Table 1. For example, if this parameter is set to 163840 without a unit, it indicates 163840 KB. If this parameter is set to 160MB, it indicates 160 MB. The unit must be KB, MB, or GB if required.

Setting suggestion: Set it to the smaller value of the number of hot databases and the number of threads multiplied by the memory size allocated to each database, that is, global_syscache_threshold = min(count(hot dbs),count(threads)) x memofdb.

The number of hot databases is the number of databases that are frequently accessed. In thread pool mode, the number of threads is the sum of the number of threads in the thread pool and the number of background threads. In non-thread pool mode, the number of hot databases is used.

memofdb indicates the average memory allocated to each database. The background noise memory of each database is 2 MB. Each time a table or index is added, 11 KB memory is added.

Risks and impacts of improper settings: If the value is too small, memory is frequently evicted, and a large number of memory fragments cannot be recycled. As a result, memory control fails.