检查数据库资源使用情况
记录数据库的 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,则表明系统在超负荷运转,此时应将该值记录到巡检表,视为异常。