Solaris Resource Manager 1.3 系统管理指南

虚拟内存和数据库

Solaris Resource Manager 产品还提供限制用户和工作负荷使用虚拟内存量的功能。该功能并不管理实际内存;而是有效地限制每个用户耗用的全局交换空间量。

当一个用户或工作负荷达到他们 lnode 的虚拟内存限制设置时,系统返回内存分配错误给应用程序;即调用 malloc() 失败。将该错误码报告给应用程序,就象该应用程序用完了交换空间一样。

很少有几个应用程序能很好对内存分配错误作出响应。因此,让一个数据库服务器达到其虚拟内存限制是有风险的。万一达到了限制,数据库引擎可能崩溃,导致损坏数据库。

虚拟内存限制应该设置上限,以便在正常情况下不能达到它们。还有,虚拟内存限制可用于将一个上限放在整个数据库服务器上,它将防止有内存泄漏的数据库故障影响系统上其它数据库或工作负荷。