发布网友 发布时间:2022-05-11 04:59
共1个回答
热心网友 时间:2022-04-26 20:05
动态内存*
使用动态内存具有下列*:
虚拟机大小不能增加到其初始引导大小(如 -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 系统支持虚拟机以外的其他工作负荷,则大型页面可能会产生碎片,并可能导致新启动的虚拟机性能降低。
动态内存增加了 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%。
如果 guest 虚拟机在引导时崩溃,请在 VM Host 上使用 hpvmmodify 命令增大 ram_dyn_target_start 参数的值。例如,要增加名为 compass1 的 guest 虚拟机的内存大小,请在 VM Host 上输入以下命令: # hpvmmodify -P compass1 -x ram_dyn_target_start=2GB 设置该参数之后,请重新引导该 guest 虚拟机。
如果 guest 虚拟机挂起,请在 VM Host 上使用 hpvmstatus 命令查看 guest 虚拟机上的内存统计信息。例如: # hpvmstatus -V -P compass1...[Dynamic Memory Information] Type : driver Minimum memory : 1222 MB Target memory : 2103 MB Maximum memory : 6144 MB Current memory : 2103 MB Comfortable minimum : 2167 MB Boot memory : 6135 MB Free memory : 0 MB Available memory : 286 MB Memory pressure : 100 Memory chunksize : 65536 KB Driver Mode(s) : STARTED ENABLED... 该问题的一个指示为可用内存量过小或为零,并且内存压力值较大 (100)。如果出现这些指示,请在 VM Host 上使用 hpvmmodify 命令增加 guest 虚拟机的内存大小。然后,按正常方式引导该 guest 虚拟机。
实际内存分配可能不相同
如果指定的 ram_target 或 ram_dyn_target_start 参数的值所更改的内存大小不是 64 MB 的倍数,则会重置目标值。
例如,如果指定 6 GB 的内存,HP-UX guest 虚拟机实际可访问 6135 MB 的内存。如果尝试将内存大小设置为 2048 MB,则实际删除的内存大小为 4087 MB。由于它不是 64 MB 的倍数,因此会将目标内存大小重置为 2103 MB。
在 Guest 虚拟机和 VM Host 上启用动态内存
在 VM Host 系统中使用动态内存参数之前,必须在 guest 虚拟机上安装 guest 虚拟机管理软件。例如,如果未安装 guest 虚拟机管理软件,hpvmstatus 命令将显示以下内容: # hpvmstatus -V -P compass1...[Dynamic Memory Information] NOTE: Dynamic data unavailable, configured values onlyType : driverMinimum memory : 1024 MBTarget memory : 2048 MBMaximum memory : 3072 MB... 如果尝试从 VM Host 修改 guest 虚拟机的动态内存,则会显示下列错误: # hpvmmodify -x ram_target=2048M -P compass1hpvmmodify: ERROR (compass1): Query to dynamic memory driver failed: Function is not available.hpvmmodify: Failed to set ram_target.hpvmmodify: Unable to modify the guest. 如果尝试从 guest 虚拟机修改动态内存,则会显示下列错误: # hpvmmgmt -V -l ramDynamic memory driver not found on guest.hpvmmgmt: Unable to continue.# hpvmmgmt -x ram_target=2048Failed to open dynamic memory driver, error: No such device.Failed to set dynamic value error: No such devicehpvmmgmt: Unable to continue. 在升级 Integrity VM 时升级 Guest 虚拟机工具包
动态内存软件包含两个组件:VM Host 支持和 HP-UX guest 虚拟机支持。要使动态内存正常运行,以上两个组件的版本级别必须相同。升级 Integrity VM 时,还必须在 guest 虚拟机上安装新的 guest 虚拟机工具包(如果不再支持 guest 虚拟机操作系统,则应同时升级该操作系统)。在此升级过程中,动态内存可能无法运行。
如果版本不匹配,启动 guest 虚拟机时会向 VM Host 的 syslog 文件 (/var/adm/syslog/syslog.log) 写入一条消息。例如: vmunix: (hpvmdvr) Dynamic memory version mismatch Guest 5. Please update the guest kit 此示例表明编号为 5 的虚拟机上的 guest 虚拟机管理软件工具包已过期。要确定编号为 5 的虚拟机,请使用 hpvmstatus 命令。在以下示例中,guest 虚拟机 5 名为 dale: # hpvmstatusVirtual Machine Name VM # OS Type State #VCPUs #Devs #Nets Memory Runsysid==================== ===== ======= ========= ====== ===== ===== ======= ========chip 1 HPUX On (OS) 2 1 1 3 GB 0dale 5 HPUX On (OS) 2 1 1 3 GB 0