您的位置:首页 > 其它

Solaris 10 Advance Administrator 310-202 读书笔记 第四章 ---- Manager Swap Configuration

2009-05-31 21:41 330 查看
目标:系统的虚拟内存是由现有的随机存储内存和硬盘空间组合成的。虚拟内存的组成部分保留为
swap

空间。
Swap

空间可以被定义为一个临时存储空间,在系统内存需求超出
RAM

大小的时候被用到。

虚拟内存介绍:

虚拟内存包含
RAM

和专门的硬盘存储空间(也叫做
swap

空间)。虚拟内存管理软件把硬盘上的文件的副本映射到虚拟地址。程序运用这些虚拟地址,而不是真正的地址去存储指令和数据。虚拟内存使操作系统的大空间内存成为可能。然而,内核必须在实际的程序命令被
CPU

执行之前把虚拟内存地址翻译为真正的
RAM

中的地址。

物理的
RAM:

物理的内存指的是电脑中实际安装的
RAM.

当和
swap

空间一起工作时,
RAM

是系统中最关键的资源。物理内存的数量随着运行
Solaris 10

操作系统的机器的不同而变化。每个活动的进程的代码和数据在运行之前必须被映射到物理内存里。

虚拟地址和物理地址:

Solaris 10

操作系统虚拟内存管理系统映射硬盘上的文件到虚拟内存地址上。虚拟内存管理系统然后翻译虚拟地址到实际的物理内存地址。应为程序需要这些文件的指令和数据。当他们存在物理内存里的时候,
CUP

就可以使用这些数据和指令。

匿名的内存页:

物理内存页为那些相应的正在运行的进程保存私有数据或硬盘上任何文件系统都不包含的堆栈信息。自从这些内存页包括了那些不需要和硬盘上文件对应的信息后,这些页被叫做匿名内存页。匿名内存页由
swap

交换空间所支持;从另外角度讲,
swap

交换空间也为那些从内存中交换出的数据提供一个临时存储区域。

Swap

交换空间:

当物理内存的大小一定的情况下,对它的使用却是多种多样的。许多情况下,进程在访问物理内存空间的时候会产生冲突。有时候,一个进程必须放弃他自己的内存空间给其他进程。进程有一些分页从
RAM

里移出,匿名内存分页则保存在
swap

交换区域内,但是一些未发生变化的文件系统分页不会保存在
swap

交换区域内,因为文件系统数据在硬盘介质上永久的保存,所以他可以从物理内存里直接删除。

Swap

切片

系统中的主要
swap

空间是一个硬盘的切片。在
solaris 10

操作系统里,默认的主
swap

区域在
1

片区(
slice 1

)、。

在默认的情况下,它的起点是
cylinder0

。当然,在用户自定义模式安装的过程中你可以改变默认的分区。每次重新启动系统,
/etc/vfstab

文件的记录会决定
swap

分区的配置情况。当要增加额外的交换空间时,你可以通过配置额外的交换切片(
swap slice

),仔细地计划你的
swap slice

放在哪里。如果你除了系统硬盘空间外还有额外的存储空间,那么把
swap slice

放在额外的驱动介质上来减少系统的负载。

Swap files



系统也允许你通过创建
swap

文件提供额外的
swap

空间。
Swap

文件是指那些驻留在文件系统中的,并且用
mkfile

命令创建好的文件。这些文件在某些情况下很有用。例如,在没有多余硬盘
slice

的情况下,又不可能重新划分
slice

,则添加
swap

交换空间就可以解决问题。
Swap

文件可以永久的设置在配置文件中,通过向
/etc/vfstab

文件中添加一条记录就可以了。

Swapfs

文件系统

当内核运行一个进程时,
swap

交换空间必须为进程的私有数据和堆栈信息预留空间。当进程的私有数据和堆栈信息需要从物理内存里移出分页的时候,就会需要
swap

的预留空间。例如,多个进程竞争有限的内存空间。

因为
swapfs

文件系统可以提供虚拟
swap

交换空间,那么对大量可用的物理
swap

交换空间的需求就小了。这种需求的下降正是因为
swapfs

文件系统提供虚拟
swap

空间地址,而不是真实的物理交换空间地址,用来负责
swap

交换空间的预定请求。因此,你需要磁盘上的物理交换空间,仅用在需要把存在物理
RAM

分页里的私有数据移出的情况下。

分页调度
Paging



分页调度是指在
RAM


swap

交换区域内传输选择的内存分页。当你把私有数据传送到
swap

交换空间里,物理的
RAM

就可以省出空间为其他进程使用。如果你再次需要移出
RAM

的分页,可以从
swap

交换空间里重新获得,并把它们影射回物理内存。把这些分页移进
RAM

也许需要更多的分页调度。交换就是对某个进程的所有修改过的数据的内存分页,在磁盘和内存间的转移调度。

使用
pagesize

命令可以显示内存分页的大小,单位
bytes


Solaris 10

操作系统默认的分页大小是
8192 bytes



#pagesize

8192

你可以使用多页大小支持(
MPSS

)服务在大的内存分页空间里运行遗留程序(
legacy applications

)。使用大的分页空间可以提高可观的程序性能,因为他扩充了大量的内存空间。大的分页必须影射到多样的分页的地址上。使用
pagesize

命令可以查看所有支持的分页大小。

#pagesize –a

8192

65536

524288

4194304

交换不是典型的发生在
solaris

操作系统上。然而,在
solaris

操作系统中,需要优先为那些正在执行的进程预留交换空间,使交换空间的一些数量确定下来。这种对交换空间数量的需求随着系统的不同而不同。预留空间的大小必须符合以下两个标准:

1.

必须为物理
RAM

内存同时运行的进程提供充足的补给空间。

2.

必须为创建一个
crash dump

提供充足的空间(单独的
slice


.

配置
swap

空间

Swap

命令为内核提供了增加,删除和监控
swap

区域的方法。
Swap

区域可以通过命令临时的改变,并在重新启动后失效。如果想创建一个永久的附加的
swap

空间,就必须在
/etc/vfstab

中添加一条记录。这条添加的记录在重新启动系统时生效。

显示当前的
swap

配置:

查看当前的
swap

空间的配额,需要完成以下步骤:

1.

列出系统虚拟
swap

空间的统计信息。

#swap –s

2.

列出系统虚拟
swap

区域的详细信息。

#swap –l

添加
swap

空间:

当系统对
swap

空间的需求超过了当前大小时,你可以使用下面的步骤添加
swap

交换空间。

增加
swap slices=



1.

编辑
/etc/vfstab

文件,添加对
swap slice

的描述信息。

# vi /etc/vfstab

#device device mount FS fsck mount mount

#to mount to fsck point type pass at boot options

2.

添加下面的一行信息

/dev/dsk/c1t3d0s1 - - swap - no -

3.

使用
swap –a

命令添加附加的
swap

空间。

# swap -a /dev/dsk/c1t3d0s1

添加
swap

文件
=



1.

确定一个文件系统有足够的空间用来创建附加的
swap

文件,它可以存在另一个硬盘上。

2.

创建一个目录来保存
swap

文件

# mkdir -p /usr/local/swap

3.

创建一个
20

兆的
swap

文件,命名为
swapfile

,保存在
/usr/local/swap

目录下。

# mkfile 20m /usr/local/swap/swapfile

4.


swap

空间添加
swap

文件

# swap -a /usr/local/swap/swapfile

5.

列出修改过的系统
swap

空间详细信息。

# swap -l

6.

列出修改过的系统
swap

的统计信息。

# swap -s

7.

要使一个
swap

文件在重新启动系统的时候生效,要添加一条记录到
/etc/vfstab

文件中。

# vi /etc/vfstab

#device device mount FS fsck mount mount

#to mount to fsck point type pass at boot options

...

/usr/local/swap/swapfile - - swap - no -

删除
swap slices=



1.

在当前的
swap

配置中删除
swap slice



# swap -d /dev/dsk/c1t3d0s1

2.

防止
swap slice

在重启或改变运行等级的时候被重新起用,必须编辑
/etc/vfstab

文件,删除相应的行。

删除
swap

文件=〉

1.

从当前的swap配置中删除一个swap文件。

# swap -d /usr/local/swap/swapfile

2.

删除swap文件,释放磁盘空间。

# rm /usr/local/swap/swapfile

3.

永久的删除swap文件。编辑
/etc/vfstab

文件,删除相应的行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: