交换空间描述
假设该系统正运行操作系统,TCP/IP及Windows,共占用内存100M,内存一共128M,如果现在某个应用程序需要30MB的RAM来启动,那么RAM中的有些内容要移走(page out)而为应用程序腾出空间,这样当应用要重新使用时才比较容易访问。
备注:
(1)交换空间用以支持实际内存。实际的内存被分成4K的页帧(Page frames)。每个Page frame由硬盘上的交换空间中4K的页面所支持。所有为应用所用的程序与数据被装入Page frames中而后被镜像到交换空间中。
(2)当系统开始存取数据而数据不在实际内存中时,系统去寻找最近没被参照的Page frames,当它锁定了所需要的东西,如果Page frames内的数据已被改变,系统要“调出”数据到交换空间这样修改了交换空间的信息。如没被改动,那么页帧被“偷”。不论在哪种条件下,将会从交换空间中“调入”数据。
为什么需要交换空间
1.当实际内存使用不够时,交换空间被用来当作第二内存
2.只有程序与数据的激活部分要驻留内存中
3.系统安装期间,交换空间被创建为实际内存的2倍,然而,交换空间所需的总数直接依赖于所安装的应用程序类型
4.应有规律地运用lsps–a命令监控交换空间,并且如果经常使用超过70%,需要增加更多的交换空间
5.当交换空间运行慢时,会有一个信息送到控制台。此时不能有新的进程被创建并且系统有可能停下
6.不是实际内存的替换品
备注:
(1)交换空间是驻留于虚拟内存用于信息存储的硬盘存储单元,不是当前存取的空间,当系统中实际内存的自由量变低时,最近没有用的程序或数据从实际内存中移进交换空间以达到为别的应用释放实际内存的目的。
(2)交换空间不是实际内存的替代品。增加交换空间的大小不会对实际内存要求强烈的应用程序有帮助。太多的交换行动会导致系统颠簸,因为系统要花更多的时间在交换空间上而不是做实际工作
放置在硬盘上的交换空间
交换空间是具有paging属性的lv
为最大化一个lv的paging性能,要:
1.分配硬盘的中间部分以减少硬盘臂的移动
2.使用多个交换空间,每一个分配在单独的pv上
3.把交换空间移到较不忙的硬盘
备注:
(1)在系统安装期间交换空间(hd6)缺省地被建于hdisk0以包含一部分或全部忙的root及/usr文件系统。如有两个或更多的硬盘操作系统安装在上面,在安装期间系统将按需要把交换空间分开分布在不同的硬盘上并命名为hd6n。
(2)缺省地,交换空间分布在中间的分区而不在中心的区域。
要显示所有的交换空间,用smit或lsps–a命令
#lsps–a
Page Space Physical Volume Volume Group Size %Used Active Auto Type
hd6 hdisk0 rootvg 32MB 43% yes yes lv
paging00 hidsk2 myvg 32MB 20% yes yes lv
查阅系统中有多少实际内存
#lsdev–Cc memory
/etc/swapspaces文件显示了系统启动时自动引用的交换空间
#pg /etc/swapspaces
hd6:
dev=/dev/hd6
paging00:
dev=/dev/paging0
增加交换空间:
#smit mkps
改变交换空间大小:
#smit chps
激活交换空间:
# swapon /dev/paging00
# swapon –a
备注:
(1)交换空间可以增大(而不是减小),而且当在使用中时可用自动开启选项(会修改/etc/swapspaces)。执行此操作的高级命令是chps。
(2)一旦定义好没有激活的交换空间可被动态地激活。输入swapon/dev/paging00 (可用smit pgsp达到)。一种选择是使用swapon–a以激活定义于/etc/swapspaces文件的交换空间。该命令在系统启动时在/etc/rc中运行。当系统正在运行时,已激活的交换空间不能被deactived掉。可以标记为deactived,在下次系统启动时生效
删除交换空间
已激活的交换空间不能被删除。为要删除一个已激活的交换空间,要
在下次启动时变为非激活
#chps –a ‘n’ paging00
重新引导系统
删除没有激活的交换空间
#rmps paging00
记住:第1个交换空间/dev/hd6不能用此方法删除
备注:交换空间可以加到系统中,并且多余的交换空间可被删掉以释放硬盘空间供别的lv使用。为要删除交换空间,必须是没有激活的(即没被内核使用)。没有激活的交换空间可被动态地激活以适合系统需求,但要直到下次系统启动时才会重变成非激活状态