数据库的监控(一)

身为数据库的运维人员在了解数据库状态的时候通常会有一个问题:操作系统正在干什么?

我们如何来知道操作系统到底在做什么呢?通过一些Unix平台自带的工具来分析数据库的状态是一个简单而有效的手段。

可以通过如下几个常用方法:

1、

[highgo@higsin ~]$ ps auxww | grep postgres
highgo   15044  0.0  1.0 354956 19060 ?        S    Mar14   0:00 /data/highgo/4.1.1/bin/postgres
highgo   15046  0.0  0.1 354956  2688 ?        Ss   Mar14   0:00 postgres: checkpointer process  
highgo   15047  0.0  0.1 354956  3496 ?        Ss   Mar14   0:00 postgres: writer process   
highgo   15048  0.0  0.1 354956  2656 ?        Ss   Mar14   0:00 postgres: wal writer process   
highgo   15049  0.0  0.1 355364  3536 ?        Ss   Mar14   0:00 postgres: autovacuum launcher process  
highgo   15050  0.0  0.1 209940  2644 ?        Ss   Mar14   0:01 postgres: stats collector process  
highgo   29837  0.0  0.0 112648   960 pts/2    R+   10:53   0:00 grep --color=auto postgres

2、

[highgo@higsin ~]$ top
top - 10:59:21 up 20:34,  3 users,  load average: 0.00, 0.01, 0.05
Tasks: 163 total,   2 running, 161 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.3 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1884188 total,    99720 free,   534044 used,  1250424 buff/cache
KiB Swap:  4194300 total,  4194300 free,        0 used.  1088076 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                                                             
   10 root      20   0       0      0      0 S  0.3  0.0   0:03.10 rcu_sched                                                                                           
29897 highgo    20   0  146144   2060   1420 R  0.3  0.1   0:00.03 top                                                                                                 
    1 root      20   0  127252   8024   2608 S  0.0  0.4   0:08.79 systemd                                                                                             
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.01 kthreadd                                                                                            
    3 root      20   0       0      0      0 S  0.0  0.0   0:00.40 ksoftirqd/0                                                                                         
    6 root      20   0       0      0      0 S  0.0  0.0   0:02.81 kworker/u2:0                                                                                        
    7 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0                                                                                         
    8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh                                                                                              
    9 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/0                                                                                             
   11 root      20   0       0      0      0 R  0.0  0.0   0:05.18 rcuos/0                                                                                             
   12 root      rt   0       0      0      0 S  0.0  0.0   0:00.78 watchdog/0                                                                                          
   13 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 khelper                                                                                             
   14 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kdevtmpfs                                                                                           
   15 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 netns                                                                                               
   16 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 perf                                                                                                
   17 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 writeback                                                                                           
   18 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kintegrit

3、

[highgo@higsin ~]$ iostat
Linux 3.10.0-327.el7.x86_64 (higsin) 	03/15/2018 	_x86_64_	(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.25    0.02    0.22    0.13    0.00   99.39

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
scd0              0.02         0.74         0.00      54642          0
sda               1.10        14.76        16.80    1091872    1242195
dm-0              1.14        14.59        16.53    1079259    1222754

4、

[highgo@higsin ~]$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 3  0      0 100480   1376 1249136    0    0    15    17   36   64  0  0 99  0  0
 另外,一旦我们发现了一个性能差的查询,可能需要PostgreSQL 的EXPLAIN命令进行进一步的调查。



BY   海无涯

你可能感兴趣的:(PostgreSQL,Highgo,DB,Linux)