调整内存管理
1.分配足够的交换空间内存交换(swapping)可以造成很大的内存开销,应该将它最小化。在Solaris上使用sar -w或vmstat -S命令来检查交换。若系统在交换,且需要节省内存,则应采用以下措施:
避免运行不必要的系统daemon进程或应用程序进程; 减少数据库缓冲区的数量,以释放一些内存; 减少UNIX文件缓冲区的数量(特别是在使用原始设备时)。 在Solaris上用swap -l命令决定当前正在使用多少交换空间。使用swap -a命令向系统中增加交换区。用系统RAM两到四倍的交换空间启动数据库。若准备使用Oracle Developer、Oracle Applications或Oracle InterOffice,则使用更高的值。监控交换空间的使用,在必要时增加它。
2.控制分页内存分页(paging)可能没有交换那样问题严重,因为为了运行,整个应用程序不必全部放在内存中。少量的分页不可能显著地影响系统的性能。为了检测过多的分页,在快速响应或空闲期间运行测量,并与响应迟缓时的测量进行比较。使用vmstat或sar -p监控分页。
若系统有过多的页面活动,则需考虑以下解决办法:
安装更多的内存;
将一些工作移到另一系统中; 配置系统核心使用更少的内存; 保持SGA在单个共享内存段中。 没有足够的共享内存,将不能够启动数据库。这时,我们可以重新配置UNIX核心,以增加共享内存。