监控 Linux 资源使用情况

您应对群集中任何节点或所有节点上的系统资源使用情况进行监控。可以使用系统活动报告 (SAR) 监控资源使用情况。

  1. 在任意节点上登录到数据库管理员帐户。

  2. 运行 top 实用程序

    $ top
    

    如果 top 中的 CPU 百分比很高,则表示 Vertica 为计算密集型。例如:

    top - 11:44:28 up 53 days, 23:47,  9 users,  load average: 0.91, 0.97, 0.81
    Tasks: 123 total,   1 running, 122 sleeping,   0 stopped,   0 zombie
    Cpu(s):  26.9%us,  1.3%sy,  0.0%ni, 71.8%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
    Mem:   4053136 total,  3882020k used,  171116 free,   407688 buffers
    Swap:  4192956 total,   176k used,  4192780 free,  1526436 cached
      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
    13703 dbadmin    1   0 1374m 678m  55m S 99.9 17.1   6:21.70 vertica
     2606 root      16   0 32152  11m 2508 S  1.0  0.3   0:16.97 X
        1 root      16   0  4748  552  456 S  0.0  0.0   0:01.51 init
        2 root      RT  -5     0    0    0 S  0.0  0.0   0:04.92 migration/0
        3 root      34  19     0    0    0 S  0.0  0.0   0:11.75 ksoftirqd/0
    ...
    

    下面是一些可能造成高 CPU 使用率的原因:

    • 即使未连接至数据库, Tuple Mover 也会自动运行,因而消耗了 CPU 时间。

    • swappiness 内核参数不能设置为 0。从 Linux 命令行执行以下命令,查看以下参数的值:

      $ cat /proc/sys/vm/swappiness
      

      如果此参数的值不为 0,请按照检查 swappiness中的步骤进行更改。

    • 一些信息源:

  3. 运行 iostat 实用程序。如果在 iostat 中的块读取速率很高的情况下,top 中出现高空闲时间,则表示 Vertica 为磁盘密集型。例如:

    $ /usr/bin/iostat
    Linux 2.6.18-164.el5 (qa01)     02/05/2011
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               0.77    2.32    0.76    0.68    0.00   95.47
    Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
    hda               0.37         3.40        10.37    2117723    6464640
    sda               0.46         1.94        18.96    1208130   11816472
    sdb               0.26         1.79        15.69    1114792    9781840
    sdc               0.24         1.80        16.06    1119304   10010328
    sdd               0.22         1.79        15.52    1117472    9676200
    md0               8.37         7.31        66.23    4554834   41284840