生产的一套AIX系统应用oracle补丁p6110331后剩余内存使用下降,下降约7G。而在测试环境,多次测试都没有明显的剩余内存使用下降问题。
通过对生产监控日志的分析,终于发现了一些蛛丝马迹。以下是生产vmstat.log记录的输出信息:
2011-05-20 01:56:28 1 0 8024790 2099286 0 0 0 0 0 0 4238 5922 3067 1 3 96 0
2011-05-20 01:58:43 0 0 8007517 2116215 0 0 0 0 0 0 4803 6957 2585 1 3 95 0
2011-05-20 02:00:58 1 0 8012033 2110888 0 0 0 0 0 0 4418 9152 3508 4 3 90 3
2011-05-20 02:03:12 0 0 7878952 2242471 0 0 0 0 0 0 8258 9916 3119 2 4 93 0
2011-05-20 02:05:59 0 0 2990232 8318559 0 0 0 0 0 0 21 379 767 0 0 99 0 ----(内存释放,原因为生产资源切换至备机,即主机上数据库被关闭)
2011-05-20 02:08:09 0 0 2990739 8318008 0 0 0 0 0 0 25 1736 558 0 0 99 0
2011-05-20 02:10:18 0 0 2990621 8320651 0 0 0 0 0 0 24 1196 586 0 0 99 0
2011-05-20 02:12:26 0 0 2990439 8321322 0 0 0 0 0 0 155 1888 642 0 1 98 0
2011-05-20 02:14:35 1 0 2991044 8277142 0 0 0 0 0 0 458 4330 776 0 1 95 4 ----(使用tar命令对oracle目录进行备份)
2011-05-20 02:16:44 0 1 2991205 7522189 0 0 0 0 0 0 466 3792 917 0 2 94 4
2011-05-20 02:18:53 0 1 2990660 6768038 0 0 0 0 0 0 449 5266 965 0 1 95 4
2011-05-20 02:21:02 0 1 2991236 6540986 0 0 0 5034 52882 0 599 4542 1636 0 1 95 4
2011-05-20 02:23:12 0 1 2991925 6540648 0 0 0 1420 9045 0 590 7888 1895 0 1 95 4
2011-05-20 02:25:22 0 1 2992019 6540464 0 0 0 1290 5541 0 613 6761 1976 0 1 95 4
2011-05-20 02:27:31 0 1 2992838 6539603 0 0 0 0 0 0 939 4283 1189 0 1 94 4 ----(开始应用oracle补丁)
可以发现,在shutdown数据库后,应用oracle补丁前,vmstat free值从8321322下降至6540986,转换后下降约6.8G((8321322-6540986)*512 bytes)。期间只有使用tar命令对oracle目录进行备份操作。由于测试时没有做tar操作,所以该问题没能在测试环境下暴露出来。
通过分析,造成该主机剩余内存使用下降的原因为:使用tar命令进行备份操作后,占用了文件缓存,且未能主动释放。
其实这类问题本质上来说和oracle数据库没有什么关系,也不是什么bug。很多问题看似奇怪,当我们深入分析,就可以看清本质。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20750200/viewspace-697693/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/20750200/viewspace-697693/