分类:
2009-12-04 09:06:48
页面是包含 4 KB 数据的虚拟内存单元,并且可在实际和辅助存储之间转移。
分页空间也称为交换空间,是 type 属性等于 paging 的逻辑卷。这种类型的逻辑卷称为分页空间逻辑卷,或简称为分页空间。当系统中空闲的实际内存量非常低时,最近未使用过的程序或数据从实际内存转移到分页空间,以将实际内存释放用于其他活动。
安装过程在驱动器 hdisk0 上创建一个缺省分页逻辑卷 (hd6),此逻辑卷也称为主分页空间。
缺省分页空间的大小是在 AIX 安装的系统自定义阶段中根据以下标准确定的:
分页空间的布局
针对分页空间的 I/O 是随机的,并且主要是一次一个页面。vmstat 和 topas 命令产生的报告指示了正在发生的分页空间 I/O 量。图 1 显示了 vmstat 命令的示例输出。
图 1 vmstat 命令的输出
topas 命令是在 AIX Version 4.3.3 中引入的。图 2 显示了 topas 命令的示例输出。
图 2 topas 命令的输出
要改进分页性能,应该使用多个分页空间,并尽可能将它们定位在单独的物理卷上。可以将多个分页空间定位在同一个物理卷上,不过建议不要这样做。
分页空间的大小
一般建议是,对于内存不超过 256 MB(512 MB 的分页空间)的计算机,分页空间大小之和应该至少等于计算机实际内存大小的两倍。对于 256 MB 以上的内存,建议使用以下规则:
总分页空间 = 512 MB + (内存大小 -256 MB) * 1.25
在理想的情况下,应该存在多个大小大致相等的分页空间,每个分页空间分别在不同的物理磁盘驱动器上。如果决定创建附加的分页空间,应该在负载比 rootvg 中的物理卷轻的物理卷上创建这些分页空间。
当系统启动时,只有主分页空间 (hd6) 是活动的。
因此,在启动期间分配的所有分页空间块都在主分页空间上。这意味着主分页空间应该比辅助分页空间稍大一点。辅助分页空间应该全都具有相同的大小,以确保循环算法能够高效地工作。
lsps -a 命令可以提供系统上每个分页空间的当前使用情况的快照,而 lsps –s 命令可以提供总的活动分页空间及其当前利用情况的摘要。
以下命令用于管理分页空间:
swapon 命令在早期系统初始化 (/sbin/rc.boot) 过程中用于激活初始分页空间设备。在随后的初始化阶段中,当其他设备变得可用时,将使用 swapon 命令来激活附加的分页空间,以便分页活动跨多个设备进行。
不 能删除活动的分页空间。要删除活动的分页空间,必须首先使其变为非活动的。要在截止 AIX Version 4.3 的 AIX 版本中实现此目的,可以使用 chps 命令,以便在下一次系统重新启动时不使用该分页空间。然后,在重新启动系统以后,该分页空间将处于非活动状态,可以使用 rmps 命令将其删除。在 AIX 5L Version 5.1 中,可以使用 swapoff 命令来动态禁用分页空间,然后继续使用 rmps 命令将其删除。
注意:在截止 AIX Version 4.3 的 AIX 版本中,不能动态禁用分页空间。需要重新启动系统才能禁用分页空间。因此,需要删除分页空间的任何维护任务都必须计划在适当的时间进行,以最小化用户中断。
通 过 swapon –a 命令激活的分页空间设备在 /etc/swapspaces 文件中列出,如下面的示例所示。当通过 mkps –a 命令创建某个分页空间时,该分页空间将添加到此文件,当通过 rmps 命令删除分页空间时,将从此文件中删除该分页空间,添加或删除操作通过 chps –a 命令进行。
|
lsps 命令显示分页空间的属性,例如分页空间名称、物理卷名称、卷组名称、大小、已使用的分页空间百分比、该分页空间是活动还是非活动的,以及该分页空间是否设置为自动的。分页空间参数指定要显示其特征的分页空间。
下面的示例演示了如何使用带各种标志的 lsps 命令来获得分页空间信息。-c 标志将以冒号格式显示信息和物理分区中的分页空间大小。
|
要使分页空间对操作系统可用,必须添加分页空间然后将其激活。系统可用于分页的总空间是所有活动分页空间逻辑卷的大小之和。
注意:不应该将分页空间添加到可移动磁盘上的卷组,因为删除具有活动分页空间的磁盘将会导致系统崩溃。
下面的示例演示了用于创建一个新的 20 MB 分页空间逻辑卷的步骤:
1. 运行 SMIT 快速路径 smitty mkps ,将会显示如图 3 所示的屏幕。
图 3 smitty mkps 命令
2. 使用箭头键突出显示 rootvg 卷组名称,然后按 Enter 键将会显示如图 4 所示的屏幕。
图 4 Add Another Paging Space 属性
3. 在 SIZE of paging space (in logical partitions) 字段中输入 5,4 MB 的 5 倍将产生 20 MB 的分页空间逻辑卷。
4. 使用 Tab 键将字段 Start using this paging space NOW? 从 no 切换到 yes,或使用 F4 键进行选择。
5. 使用 Tab 键将字段 Use this paging space each time the system is RESTARTED? 从 no 切换为 yes。
6. 按 Enter 键创建该分页逻辑卷。
7. SMIT 将返回新设备名称 paging01,并带有一个 OK 提示。按 F10 键以返回到命令行。
8. 现在可以使用命令 lsps -a 来检查新设备 (paging01) 是否已添加并且是活动的。
只能更改分页空间逻辑卷的以下两个属性。
AIX 5L Version 5.1 添加了不必重新启动即可禁用分页空间和减小分页空间大小的能力。
禁用分页空间
下面的示例演示了如何禁用分页空间逻辑卷 paging03:
1. 运行 SMIT 快速路径命令 smitty chps 以显示如图 5 所示的 PAGING SPACE 提示屏幕。
图 5 smitty chps 命令
2. 使用箭头键突出显示 paging03 分页空间名称,然后按 Enter 键。
3. 使用 Tab 键将字段 Use this paging space each time the system is RESTARTED? 从 yes 切换为 no,如图 6 所示。
图 6 在 AIX Version 4.3 中更改分页空间属性
4. 按 Enter 键更改 paging03 分页逻辑卷。
5. 当 SMIT 返回 OK 提示时,可以按 F10 键返回到命令行。
6. 重新启动系统并运行 lsps –a 命令,以确认 paging03 的状态已更改为非活动的。
在 AIX 5L Version 5.1 中动态禁用分页空间
swapoff 命令禁用分页空间而无需重新启动。
swapoff 命令的语法如下:
|
使用命令 swapoff /dev/paging03 以禁用分页空间 paging03,或者使用 SMIT 快速路径 smitty swapoff,图 7 所示。
图 7 smitty swapoff 命令
注意:必须将要禁用的分页空间上正在使用所有页面移动到其他分页空间,因此其他活动的分页空间中必须有足够的空间可用。
增加分页空间的大小
下面的示例演示了如何将已经存在的分页空间 paging03 的大小增加 20 MB。
1. 运行 SMIT 快速路径命令 smitty chps,以显示如图 5 所示的 PAGING SPACE 名称提示屏幕。
2. 使用箭头键突出显示 paging03 分页空间名称,然后按 Enter 键。
3. 在字段 NUMBER of additional logical partitions 中输入 5,4 MB 的 5 倍将产生 20 MB 的分页空间增加量。
4. 按 Enter 键以更改 paging03 分页逻辑卷。
5. 当 SMIT 返回 OK 提示时,可以按 F10 键返回到命令行。
6. 运行 lsps –a 命令以确认 paging03 的大小已经增加。
减小分页空间的大小
AIX 5L Version 5.1 引入了 chps -d 命令。此命令允许减小分页空间的大小,而不必首先禁用该分页空间,接着重新启动,然后删除该分页空间,并重新创建具有较小大小的分页空间,然后再重新激活该分页空间。
使用 chps –d 命令将 paging03 的大小减小 2 个逻辑分区,如下面的示例所示:
|
下面的示例演示了在截止 AIX Version 4.3 的 AIX 版本中删除现有的分页空间 paging00 所涉及到的步骤。
注意:删除缺省分页空间不当会导致系统无法重新启动。只有经验丰富的系统管理员才应该尝试此过程。必须首先禁用分页空间,然后才能将其删除,从而需要重新启动。
通过执行命令 sysdumpdev –l 来检查正在使用的主转储设备。不能删除缺省转储设备。必须将缺省转储设备更改到另一个分页空间或逻辑卷,然后才能删除该分页空间。要更改缺省转储目标,可以使用下面命令:
sysdumpdev -P -p /dev/new_dump_device
1. 请参阅 “更改分页空间属性”,以更改分页空间 paging00 的属性,使其在重新启动后不是活动的。
2. 通过执行 shutdown –Fr 命令重新启动系统。
3. 当系统已经启动时,作为 root 用户登录并运行快速路径 smitty rmps,以显示标题为 Remove a Paging Space 的菜单。或者,可以通过执行以下命令来使用 SMIT:
4. 按 F4 键以生成分页逻辑卷的列表。
5. 使用箭头键突出显示 paging00 逻辑卷名称,然后按 Enter 键三次(一次在字段中输入名称,一次获取警告,第三次运行该命令)。
6. 当 SMIT 返回带有以下消息的 OK 提示时,可以按 F10 键返回到命令行。
|
下面的示例显示了在尝试删除活动分页空间 paging01 时获得的错误消息。
|
下面的示例演示了如何在 AIX 5L Version 5.1 中删除分页空间 paging00:
|
缺省安装在驱动器 hdisk0 上创建一个分页逻辑卷 (hd6),该驱动器包含繁忙的/(root) 和/usr 文件系统的部分或全部。系统管理员可能希望减小缺省分页空间,或者将其移动到不太繁忙的硬盘,以便:
删除缺省分页空间 (hd6) 需要一个特殊的过程。此分页空间在启动过程中由配置系统的 Shell 脚本激活。要删除其中一个缺省分页空间,必须修改这些脚本,并且必须创建一个新的启动映像。
下面的示例显示了用于检查整个物理卷 hdisk1 中的逻辑卷和文件系统分布情况的命令:
|
减小 hd6 分页空间的大小
下面的示例演示了将分页空间 hd6 从 160 MB 减小到 120 MB 所涉及到的步骤。以下过程中的步骤全都是必需的——即使是与 hd6 不直接相关的步骤。需要附加步骤的原因在于,不能在系统正在运行的时候禁用分页空间。
注意:
lsattr -E -l sys0 -a realmem
1. 通过执行以下命令在 rootvg 上创建一个临时分页空间:
|
此命令将输出分页空间的名称(如果不存在其他分页空间,则为 paging00)。
2. 使用以下命令禁用 hd6 分页空间,以便为该过程中稍后的重新启动操作做好准备。
|
3. 将 /sbin/rc.boot 文件中的分页空间条目从:
swapon /dev/hd6
更改为 swapon /dev/paging00。
4. 运行以下命令来检查主转储设备名称。
|
5. 如果主转储设备为 hd6,则将其更改为其他某个分页空间。下面的命令演示了如何将主转储设备更改为 paging00:
|
6. 使用 bosboot 命令为某个硬盘映像创建可启动的映像。
此步骤是必需的,以便更新初始化期间使用的系统映像以反映对 rc.boot 所做的更改。
|
7. 将系统密钥(如存在的话)放在通常位置并使用以下命令,此命令将关闭操作系统并重新启动。
shutdown -r
8. 在系统重新启动以后,删除 hd6 分页空间。
rmps hd6
9. 为 hd6 分页空间创建一个大小为 120 MB 的新分页空间逻辑卷。
mklv -t paging -y hd6 rootvg 30
10. 使用 lsps -a 命令来验证缺省分页空间 hd6 的大小已减小。
11. 将主转储设备名称更改回分页空间 hd6。
sysdumpdev -P -p /dev/hd6
12. 将 /sbin/rc.boot 文件中的分页空间条目从:
swapon /dev/paging00
更改为 swapon /dev/hd6。
13. 使用 bosboot 命令为某个硬盘映像创建可启动的映像。
bosboot -d /dev/hdisk0 -a
14. 运行以下命令,以使新的 hd6 分页空间在系统重新启动时自动激活。
chps -a y hd6
15. 运行以下命令来更改临时分页空间 paging00 的属性,以使其在下一次重新启动后不自动激活。
chps -a n paging00
16. 将系统密钥(如存在的话)放在通常位置,并使用以下命令来关闭和重新启动系统:
shutdown -r
17. 在系统重新启动以后,删除该临时分页空间。
rmps paging00
在 AIX 5L Version 5.1 中减小 hd6
可 以使用 chps –d 命令来动态减小主分页空间 hd6 的大小。此命令将阻止您将hd6减小 到 32 MB 以下或实际删除该分页空间。如果减小主分页空间,则会创建一个临时启动映像和一个指向此临时主分页空间的临时 /sbin/rc.boot,以确保系统始终处于能够安全地重新启动的状态。
将 hd6 分页空间移动到另一个卷组
建议不要将名称为 hd6 的分页空间从 rootvg 移动到另一个卷组,因为该名称已在多个地方进行了硬编码。
在 启动过程中的第二个阶段,只有 rootvg 中的分页空间才是活动的,并且 rootvg 中没有任何分页空间会严重影响系统启动性能。如果希望大多数分页空间都在其他卷组上,则最好让 hd6 尽可能小(与物理内存大大小相同),然后在其他卷组上创建较大的分页空间。
在同一个 VG 中移动 hd6 分页空间
将缺省分页空间从 hdisk0 移动到同一个卷组中的另一个磁盘不需要重新启动系统。
下面的示例演示了用于将缺省 (hd6) 分页空间从 hdisk 0 移动到 hdisk6 的命令。
migratepv -l hd6 hdisk0 hdisk1
这可能要花几分钟时间,具体取决于该分页空间的大小。