Updated on 2024-10-11 GMT+08:00

Memory Usage of the PMS Process Is High

Issue

What can I do if the memory usage of the active Master node is high?

Symptom

The memory usage of the active Master node is high. The top -c command output shows that the following idle processes occupy a large amount of memory:

Cause Analysis

  • PostgreSQL cache: In addition to common execution plan cache and data cache, PostgreSQL provides cache mechanisms such as catalog and relation to improve the efficiency of generating execution plans. In the persistent connection scenario, some of the caches are not released. As a result, the persistent connection may occupy a large amount of memory.
  • PMS is a monitoring process of MRS. This process frequently creates table partitions or new tables. The PostgreSQL caches the metadata of the objects accessed by the current session, and the connections in the database connection pool of the PMS exist for a long time. Therefore, the memory occupied by the connections gradually increases.

Procedure

  1. Log in to the active Master node as user root.
  2. Run the following command to query the PMS process ID:

    ps -ef | grep =pmsd |grep -v grep

  3. Run the following command to stop the PMS process. In the command, PID indicates the PMS process ID obtained in 2.

    kill -9 PID

  4. Wait for the PMS process to automatically start.

    It takes 2 to 3 minutes to start PMS. PMS is a monitoring process. Restarting PMS does not affect big data services.