动态内存概述
扫描二维码
随时随地手机看文章
Integrity VM 的可选功能,通过该功能,您可以更改虚拟机使用的物理内存量,而无须重新引导该虚拟机。在 Integrity VM 的本发行版中,只能在 HP-UX guest 虚拟机上使用动态内存。例如,该功能允许将作为 Servicegard 节点的 guest 虚拟机用作多个 Serviceguard 程序包的备用服务器。当程序包故障切换到 guest 虚拟机时,可在故障切换之前、之后或期间更改 guest 虚拟机的内存,使其符合程序包的要求。要使用动态内存,guest 虚拟机必须安装 guest 虚拟机管理软件。
在 VM Host 中,动态内存软件随 Integrity VM 一起提供。可使用 hpvmcreate、hpvmmodify 或 hpvmclone 命令的 -x 选项在 VM Host 上管理动态内存。-x 选项可将各种配置参数与 guest 虚拟机(包括 guest 虚拟机的动态内存和网络管理)相关联。 表 1提供了用于动态内存的 -x 关键字的完整列表。
动态内存限制使用动态内存具有下列限制:虚拟机大小不能增加到其初始引导大小(如 -r 选项所指定)以上。如果虚拟机内存已产生碎片,则尝试减少虚拟机大小可能会失败或需要很长时间。如果无法将虚拟机大小降低到所需大小,请通过设置新的目标大小来异常中止操作。增加虚拟机大小需要 VM Host 上具有一定的可用内存。如果 VM Host 内存不足,该操作可能需要很长时间才能完成,并可能失败。如果 ram_target 和 ram_dyn_target_start 的值不在 ram_dyn_min 和 ram_dyn_max 值之间,则会发出一条警告。VM Host 资源注意事项HP-UX 支持“大型页面”内存管理功能,可用于提高性能。Integrity VM 可通过确保在虚拟机启动时分配容量最大的可用页面来实现此功能。一旦分配并锁定这些页面之后,将无法更改其大小。此限制可使大型页面的碎片降至最低。该功能会限制可在 VM Host 系统上运行的软件类型。如果 VM Host 系统支持虚拟机以外的其他工作负荷,则大型页面可能会产生碎片,并可能导致新启动的虚拟机性能降低。
虚拟机技术是虚拟化技术的一种,所谓虚拟化技术就是将事物从一种形式转变成另一种形式,最常用的虚拟化技术有操作系统中内存的虚拟化,实际运行时用户需要的内存空间可能远远大于物理机器的内存大小,利用内存的虚拟化技术,用户可以将一部分硬盘虚拟化为内存,而这对用户是透明的。又如,可以利用虚拟专用网技术(VPN)在公共网络中虚拟化一条安全,稳定的“隧道”,用户感觉像是使用私有网络一样。
动态内存增加了 VM Host 内存产生碎片的可能性。动态内存的当前实现方式可释放向虚拟机分配的内存部分。必须以大型连续块为单位执行这些操作;否则,减少虚拟机大小会使为该虚拟机分配的 VM Host 内存产生碎片。可通过软件防止产生此潜在碎片,即以物理连续内存的最小块大小 64 MB 的倍数为单位减少虚拟机大小。Guest 虚拟机资源注意事项运行某一工作负荷的系统正常运行期间,大型页面可能会逐渐产生碎片。VM Host 和运行 HP-UX 操作系统的虚拟机都会出现这种情况。如果虚拟机内存产生碎片,动态内存子系统将无法减少 guest 虚拟机的大小。这是因为此减少大小的操作使用最小块大小。
如果动态内存无法删除至少 64 MB 的物理连续 guest 虚拟机内存,则不会减少大小。指定足够的 Guest 虚拟机内存如果将 ram_dyn_target_start 的值设置得过小,则 guest 虚拟机操作系统可能会在引导时挂起或崩溃。此种情况下,guest 虚拟机无法访问足够的内存量。通常,降低分配给 HP-UX guest 虚拟机的内存时降幅不能超过其分配的内存大小的 75%。对于配置了 2 GB 内存的虚拟机,其内存降低幅度不能超过 50%。