位置:海鸟网 > IT > linux/Unix >

UNIX系统交换区的管理

 交换区(swap)是存在于高速存储设备上的一块区域,是虚拟内存系统重要的组成部分。通过交换区,我们不再局限于有限的物理内存空间,理论上可以无限地扩大虚拟内存系统,从而运行更多的程序,进行更多的业务交易,更充分地发挥硬件资源。交换区采用换入换出技术和存储器间互相交换进程或数据页面。根据一定的调度原则,内存中部分不常用的进程或数据页定期交换到交换区中,以便为需要运行的程序留出更多的可用空间。交换出去的进程或数据页根据需要时再交换进来,这样一来就实现了大量并发进程的管理。不适当的交换区设置不仅使换页守护进程忙于交换页面进出而消耗时间,而且使进程运行的速度、系统效率都大大降低,很大程度上影响了操作系统的性能。当前,应用程序的日益庞大,运行业务的急剧增加,高性能数据库如Informix Online Dynamic Server为响应对数据的快速存取而使用的共享内存技术等,都对有限的物理内存空间提出了更高的要求,因此实施对交换区的有效管理具有重要作用。

  交换区容量的计算

  交换区一般在操作系统初始安装时要求设定,大多数程序要求最少所需的交换区容量以正常运转。一般来说,当物理内存不超过256M时,主交换区容量设置为内存的两倍,超过256M时,则选择与物理内存的容量相同。操作系统安装完毕后,随着应用程序的不断增加和业务的变化,原有的交换区设置可能满足不了需要,对系统的性能也产生影响,系统管理员可增加新的交换区作为辅助交换区与主交换区配套使用。管理员还应经常监视交换区的使用情况,根据需要及时作出必要的调整。

    推荐文章:错新网带你了解unix系统发展史!

  交换区的类型

  交换区分主要分以下四种类型:

  1.设备交换

  即使用连续物理空间的整个磁盘或部分磁盘区域作为交换区,这样速度比较快。在HP-UX中使用先进的逻辑卷技术实现对物理磁盘的动态可伸缩管理,因此管理员可使用一个或多个逻辑卷作为设备交换,而在SCO OpenServer中,则使用占据一定磁盘空间区域的块设备作为设备交换。

  2.文件系统交换

  文件系统交换是一种辅交换,仅在设备交换不敷使用时才被考虑以满足换页需求,特点是配置简单方便并可动态设置。因为文件系统交换只使用它需要的部分文件系统,所以使用空间的大小是变化的,同时该文件系统中还有许多应用程序和数据需要频繁存取,因而很大程度上降低了系统运行的效率。管理员可将文件系统交换限制在一个固定的范围内以防止它占用不必要的空间,并且最好建立在较少使用的文件系统上。

  对UNIX系统而言,当启动文件系统交换时,将在文件系统的根目录下创建""/paging""目录,文件系统为被使用的每一个交换块都创建一个文件,交换块默认为2MB。

  3.主交换

  系统启动时至少需要一个设备交换可用,这就是主交换区域,默认与root文件系统共存于同一个磁盘中。

  4.辅交换

  指主交换之外的其他交换。文件系统交换总是辅交换,如果使用设备交换作为辅交换,尽量设定在非root文件系统盘上以获得更好的性能。辅交换可以在UNIX启动时自动启用或在系统运行时动态增加。

  交换区动态设置

  现实情况中我们经常遇到因操作系统安装时交换区配置不当而无法满足随后日益增长的应用需要,重新安装操作系统不仅费时,还会造成一定程度的业务风险,所以并不可取。大多数UNIX系统都提供了通过命令行实现交换区动态设置的方法,管理员应熟知了解。HP-UX中使用的命令是swapon,SCO OpenServer中使用的命令是swap。以下举例说明: