星期二 2008年01月08日
Solaris10上交换空间(swap)的管理
添加裸分区到swap空间
添加一个裸交换分区,你需要在系统上执行如下的步骤:
1. 确定一个空的磁盘分区.
2. 在/etc/vfstab中添加一条记录,把裸分区作为一个交换分区:
/dev/dsk/c0t1d0s0 - - swap - no -
3. 执行下面的命令,启用这个交换分区:
#swap -a /dev/desk/c0t1d0s0
4. 使用下面的命令查看交换分区的情况:
#swap -l
添加文件系统到swap
Solaris支持使用文件来增加交换空间。把一个文件添加到交换空间你需要执行如下步骤:
1. 使用mkfile创建一个文件:
#mkfile 250m /opt/myswapfile
这里创建了一个250M的文件。
2. 为了使用这个交换文件,执行如下命令:
#swap -a /opt/myswapfile
3. 检查变化:
#swap -l
提示: 为了在下次系统启动后也使用这个交换文件,你需要在/etc/vfstab添加如下记录:
/opt/swapfile - - swap - no -
禁用交换空间
Solaris OS提供了在系统运行时禁用一个交换文件的能力。使用swap命令的-d选项。所有已经分配的块被拷贝到其它交换区域。
solaris# swap -d /opt/myswapfile
检查变化:
solaris# swap -l
监视交换空间
为交换空间配置合适的大小是很重要的: 太小会影响性能,太大会浪费磁盘空间。
如果物理内存不够用,Solaris会使用swap空间。这叫做分页。
这里是一个交换空间的概要:
solaris#swap -s
total: 3500744k bytes allocated + 3048720k reserved = 6549464k used,
23869824k available
这里是交换空间包含的设备或者文件:
solaris#swap -l
swapfile dev swaplo blocks free
/dev/md/dsk/d1 85,1 16 41945456 41945456
如果你的交换空间不够用,你会看到如下的错误信息:
Not Enough Space
or
WARNING /tmp: File system full, swap space limit exceeded
查看运行的系统是否物理内存不足,可以使用vmstat 和 iostat。
solaris#vmstat
kthr memory page disk faults cpu
r b w swap free re mf pi po fr de sr m0 m1 m3 m4 in sy cs us sy id
0 0 0 24137360 6421168 70 179 21 14 14 0 0 0 0 0 0 472 3363 1776 4 2 94
0 0 0 23869912 5953040 11 13 0 0 0 0 0 0 0 0 0 430 1071 1545 7 1 92
0 0 0 23870896 5953904 58 313 0 2 2 0 0 0 0 0 0 578 2369 1798 20 1 78
0 0 0 23874712 5957216 11 11 0 0 0 0 0 0 0 0 0 417 1325 1648 0 0 100
0 0 0 23874744 5957248 22 64 0 3 3 0 0 0 0 0 0 423 1578 1629 1 2 97
在vmstat输出中查看列sr (Scan Rate)。
solaris#iostat -Pxn
extended device statistics
r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b device
0.1 2.7 1.1 5.6 0.0 0.1 0.2 25.5 0 2 c1t0d0s0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 9.7 0 0 c1t0d0s1
0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.2 0 0 c1t0d0s2
在iostat的输出中看r/s 和 w/s c列,如果这些值高,意味着为了释放空间产生了大量的I/O操作。
如果物理内存太小,系统会频繁地使用交换设备而产生大量的I/O操作。在这个状态下,CPU的使用率也会增加。所以应该增加物理内存了。
Posted at 11:58上午 一月 08, 2008 by 孙悟空 in 操作系统 | 评论[0]