Without the command details, it would be difficult to comment on this issue. From the database perspective, you might have to tune the parameters if they are set to a higher value or increase memory if the usage is more.
However, you can verify a few points to start the investigation which is specified below :
If the top running processes are :
Database queries then you need to verify the parameter settings on the databases handling that type of queries.
Postgres administrator processes like (archiver, checkpoint, bgwriter) then we need to tune parameters related to those.
Postgres backup processes, you can think of changing the backup strategy i.e initiate backups in non-peak hours, initiate backups from slave/remote servers so that the resources are used of the remote server, etc.
You can generate a pgbadger report for calculating the number of connections/disconnections you get every minute/hours.
From this connection data, you can figure out that the memory configuration of the server and parameters are sufficient to handle the load which we are receiving on the system.
Pgbadger will also give you other stats related to checkpoints occurrences, details of the heavily loaded database on the cluster.
Make sure the logging parameter is enabled to log the connection and disconnection of data.
Hope this helps.
... View more