Skip to content

检查数据库资源使用情况

记录数据库的 CPU、I/O、内存等使用情况,使用 vmstat、iostat、sar、top 等命令进行信息收集并检查这些信息,判断资源使用情况。

  • CPU 使用情况:

    [root@sale8 ~]# top
    top - 10:29:35 up 73 days, 19:54,  1 user,  load average: 0.37, 0.38, 0.29
    Tasks: 353 total,   2 running, 351 sleeping,   0 stopped,   0 zombie
    Cpu(s):  1.2% us,  0.1% sy,  0.0% ni, 98.8% id,  0.0% wa,  0.0% hi,  0.0% si
    Mem:  16404472k total, 12887428k used,  3517044k free,    60796k buffers
    Swap:  8385920k total,   665576k used,  7720344k free, 10358384k cached
      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
    30495 oracle    15   0 8329m866m861m R   10  5.4   7:53.90 oracle             
    32501 oracle    15   0 8328m1.7g1.7g S    2 10.6   1:58.38 oracle           
    32503 oracle    15   0 8329m1.6g1.6g S    2 10.2   2:06.62 oracle

    通过top命令确认开销最高的进程信息是否正常,若异常需进行进程杀死处理,并由对应系统负责人进行问题排查。

  • 内存使用情况:

    # free -m
    total used free     shared    buffers     cached
    Mem:        2026 1958 67          0         76       1556
    -/+ buffers/cache:        326       1700
    Swap:         5992         92       5900

    当可用物理内存低于总内存的10%需分析系统状态是否正常。

  • 系统 I/O 情况:

    # iostat -k 1 3
    Linux 2.6.9-22.ELsmp (AS14)     07/29/2009
    
    avg-cpu:  %user   %nice    %sys%iowait %idle
             0.16    0.00    0.05    0.36  99.43
    
    Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
    sda               3.33        13.16        50.25   94483478  360665804
    avg-cpu:  %user   %nice    %sys %iowait   %idle
          0.00    0.00    0.00    0.00   100.00
    Device:   tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
    sda      0.00     0.00        0.00          0          0

    通过查看系统I/O状态,判断系统I/O能力是否满足服务需求,若I/O等待较高,则需考虑采用高性能磁盘提升数据库响应效率。

  • 系统负载情况:

    # uptime
    12:08:37 up 162 days, 23:33, 15 users,  load average: 0.01, 0.15, 0.10

    如上所示,若后面的3个数值高于2.5,则表明系统在超负荷运转,此时应将该值记录到巡检表,视为异常。