Are you sure that swap is used actively? Maybe it had just been used during backup or something.
Look after SwapIn/SwapOut (si/so) it should be '0'
$ vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 12 89344 46608 586384 0 0 12 8 30 86 0 0 99 0 0
If you want to see the amount of ram used by each program with childs run this:
ps -A --sort -rss -o comm,pmem | awk '
NR == 1 { print; next }
{ a[$1] += $2 }
END {
for (i in a) {
printf "%-15s\t%s\n", i, a[i];
}
}
'
On Tue, Oct 16, 2018 at 11:04 AM Nicola Contu <nicola.contu@xxxxxxxxx> wrote:
Hello,we are running Postgres 10.5 with master slave replication.These are our custom paramsarchive_command = 'pgbackrest --stanza=cmdprod archive-push %p' # command to use to archive a logfile segmentarchive_mode = on # enables archiving; off, on, or alwayscheckpoint_completion_target = 0.7 # checkpoint target duration, 0.0 - 1.0default_text_search_config = 'pg_catalog.english' #datestyle = 'iso, mdy' #effective_cache_size = 120GB #hot_standby = on # "on" allows queries during recoverylc_messages = 'en_US.UTF-8' # locale for system error messagelc_monetary = 'en_US.UTF-8' # locale for monetary formattinglc_numeric = 'en_US.UTF-8' # locale for number formattinglc_time = 'en_US.UTF-8' # locale for time formattinglisten_addresses = '*' # defaults to 'localhost', '*' = alllog_autovacuum_min_duration = 1000ms # -1 disables, 0 logs all actions andlog_checkpoints = on #log_line_prefix = '%t [%r] [%p]: [%l-1] db=%d,user=%u ' #log_lock_waits = on # log lock waits >= deadlock_timeoutlog_min_duration_statement = 1000ms # -1 is disabled, 0 logs all statementslog_statement = 'ddl' # none, ddl, mod, alllog_temp_files = 1024kB # log temporary files equal or largermaintenance_work_mem = 2GB #max_connections = 220 #max_parallel_workers_per_gather = 8 # taken from max_worker_processesmax_wal_size = 2GB #min_wal_size = 1GB #pg_stat_statements.max = 10000 #pg_stat_statements.track = all #port = 5432 # port number which Postgres listenshared_buffers = 10GB #shared_preload_libraries = 'pg_stat_statements' # (change requires restart)synchronous_standby_names = '1 ( "usnyh2" )' # comment out during upgradetrack_activity_query_size = 16384 # (change requires restart)track_io_timing = on #wal_buffers = 16MB #wal_keep_segments = 100 #wal_level = replica # minimal, replica, or logicalwork_mem = 600MB #This server is on Centos 7 and the strange thing is that we see a lot of swap usage :[root@usnyh-cmd1 ~]# free -mtotal used free shared buff/cache availableMem: 257652 7555 5559 12804 244536 236036Swap: 16383 7326 90577GB used.But can't see it from any of the commands like top etc.I am sure it is postgres because it is the only service running on that machine.Is there anything we can do?On the sync slave, the usage is just 400MB.Any trick?Thanks a lot,Nicola