2017-07-17

Connecting to PostgreSQL via command line

Got an alarm that this server has high CPU and memory usage.  So I am posting this as it's been quite a while since I used PostgreSQL.

$ cat /etc/redhat-release; uname -r
Red Hat Enterprise Linux Server release 5.7 (Tikanga)
2.6.18-274.12.1.el5

$ free -g | awk '/Mem:/ {print "Physical Memory: " $2 "GB."} /cache:/ {print "Resident: " $3 "GB."}'
Physical Memory: 15GB.
Resident: 4GB.

# su - postgres
-bash-3.2$ psql
Welcome to psql 8.2.13, the PostgreSQL interactive terminal.
Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit

postgres=# \list
        List of databases
   Name    |  Owner   | Encoding
-----------+----------+-----------
 dmon2     | postgres | SQL_ASCII
 postgres  | postgres | SQL_ASCII
 template0 | postgres | SQL_ASCII
 template1 | postgres | SQL_ASCII
(4 rows)

postgres=# \connect postgres
You are now connected to database "postgres".

postgres-# \dt *.
                        List of relations
       Schema       |          Name           | Type  |  Owner
--------------------+-------------------------+-------+----------
 information_schema | sql_features            | table | postgres
 information_schema | sql_implementation_info | table | postgres
 information_schema | sql_languages           | table | postgres
 information_schema | sql_packages            | table | postgres
 information_schema | sql_parts               | table | postgres
 information_schema | sql_sizing              | table | postgres
 information_schema | sql_sizing_profiles     | table | postgres
(7 rows)

postgres=# SELECT procpid, datname, usename, query_start, current_query FROM pg_stat_activity ORDER BY backend_start DESC;
 procpid | datname  | usename  |          query_start          |                                                  current_query                                                
---------+----------+----------+-------------------------------+-----------------------------------------------------------------------------------------------------------------
   18523 | postgres | postgres | 2017-07-17 11:32:50.468531+02 | SELECT procpid, datname, usename, query_start, current_query FROM pg_stat_activity ORDER BY backend_start DESC;
   26119 | dmon2    | postgres | 2017-07-17 11:31:28.19822+02  | <IDLE>
   29143 | dmon2    | postgres | 2017-07-17 11:32:38.642829+02 | <IDLE>
    3436 | dmon2    | postgres | 2017-05-07 14:40:08.272183+02 | <IDLE>
   11059 | dmon2    | postgres | 2017-07-17 11:32:45.481078+02 | <IDLE>
   11006 | dmon2    | postgres | 2017-07-17 11:31:17.727868+02 | <IDLE>
   10977 | dmon2    | postgres | 2017-07-17 11:31:24.22136+02  | <IDLE>
   10974 | dmon2    | postgres | 2017-07-17 11:30:54.889548+02 | <IDLE>
   10966 | dmon2    | postgres | 2017-07-17 11:32:49.523143+02 | <IDLE>
   10963 | dmon2    | postgres | 2017-07-17 11:32:47.432331+02 | <IDLE>
   10960 | dmon2    | postgres | 2017-07-17 11:31:57.597219+02 | <IDLE>
   10957 | dmon2    | postgres | 2017-07-17 11:32:50.064883+02 | SELECT *, to_unixtime(schedtime) as uschedtime FROM v_rt_backend_checkqueue ORDER BY random()+1 LIMIT 300 ;
(12 rows)

postgres-# \q

Checking max_connections and shared_buffers seems fine.  And the kernel.shmmax seems OK too.

$ sudo cat /etc/sysctl.conf | grep shmmax
kernel.shmmax = 68719476736

$ sudo cat /var/lib/pgsql/data/postgresql.conf | egrep -i 'max_connections|shared_buffers' | grep -v '^#'
max_connections = 100                   # (change requires restart)
shared_buffers = 512MB                  # min 128kB or max_connections*16kB

Funny thing was, after I increased the /opt and /data3, seems that processes for postmaster went down.

$ sudo top -b -n 1 | head -n 24
top - 13:12:36 up 81 days, 22:23,  2 users,  load average: 1.54, 1.27, 1.23
Tasks: 250 total,   1 running, 249 sleeping,   0 stopped,   0 zombie
Cpu(s): 21.9%us,  4.0%sy,  0.0%ni, 72.1%id,  1.6%wa,  0.1%hi,  0.4%si,  0.0%st
Mem:  16436100k total, 16297896k used,   138204k free,  1285472k buffers
Swap: 12582904k total,      124k used, 12582780k free, 10205132k cached
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                          
11910 root      15   0 54636  14m 1884 S 10.9  0.1   3812:57 isdn30                                                                                          
11052 root      15   0 72076  16m 2560 S  3.6  0.1   9547:11 ciscoenv                                                                                        
10954 root      15   0 69496  32m 1248 S  1.8  0.2   6168:40 checkd                                                                                          
11050 root      15   0  102m  42m 2756 S  1.8  0.3   2456:42 cisconx-env                                                                                      
22844 root      15   0 31676 3336 1980 R  1.8  0.0   0:00.06 top                                                                                              
    1 root      15   0 10368  692  580 S  0.0  0.0   0:02.19 init                                                                                            
    2 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 migration/0                                                                                      
    3 root      34  19     0    0    0 S  0.0  0.0   0:09.30 ksoftirqd/0                                                                                      
    4 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 migration/1                                                                                      
    5 root      34  19     0    0    0 S  0.0  0.0   0:00.20 ksoftirqd/1                                                                                      
    6 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 migration/2                                                                                      
    7 root      34  19     0    0    0 S  0.0  0.0   0:00.20 ksoftirqd/2                                                                                      
    8 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 migration/3                                                                                      
    9 root      34  19     0    0    0 S  0.0  0.0   0:00.19 ksoftirqd/3                                                                                      
   10 root      10  -5     0    0    0 S  0.0  0.0   0:01.57 events/0                                                                                        
   11 root      10  -5     0    0    0 S  0.0  0.0   0:00.26 events/1                                                                                        
   12 root      10  -5     0    0    0 S  0.0  0.0   0:00.24 events/2

No comments:

Post a Comment