安装完成后swap分区为什么比指定的分区要大很多
时间:2010-06-03
来源:互联网
本帖最后由 zhshfeng_xx 于 2010-06-03 20:19 编辑
今天安装solaris10,我指定swap分区为32G,可安装完成后,查看了一下为什么会是59G呢?
# df -h
Filesystem size used avail capacity Mounted on
/dev/dsk/c0t0d0s0 59G 4.6G 54G 8% /
/devices 0K 0K 0K 0% /devices
ctfs 0K 0K 0K 0% /system/contract
proc 0K 0K 0K 0% /proc
mnttab 0K 0K 0K 0% /etc/mnttab
swap 59G 664K 59G 1% /etc/svc/volatile
objfs 0K 0K 0K 0% /system/object
sharefs 0K 0K 0K 0% /etc/dfs/sharetab
fd 0K 0K 0K 0% /dev/fd
swap 59G 32K 59G 1% /tmp
swap 59G 64K 59G 1% /var/run
/dev/dsk/c0t0d0s3 477M 1.0M 428M 1% /metadb
# swap -s
total: 184104k bytes allocated + 21872k reserved = 205976k used, 61451456k available
使用format查看了一下,swap使用了s2,确实是32G
partition> p
Current partition table (original):
Total disk cylinders available: 14087 + 2 (reserved cylinders)
Part Tag Flag Cylinders Size Blocks
0 root wm 0 - 6182 60.00GB (6183/0/0) 125836416
1 swap wu 6183 - 9480 32.01GB (3298/0/0) 67120896
2 backup wm 0 - 14086 136.71GB (14087/0/0) 286698624
3 unassigned wm 9481 - 9531 506.81MB (51/0/0) 1037952
4 unassigned wm 0 0 (0/0/0) 0
5 unassigned wm 0 0 (0/0/0) 0
6 unassigned wm 0 0 (0/0/0) 0
7 unassigned wm 0 0 (0/0/0) 0
今天安装solaris10,我指定swap分区为32G,可安装完成后,查看了一下为什么会是59G呢?
# df -h
Filesystem size used avail capacity Mounted on
/dev/dsk/c0t0d0s0 59G 4.6G 54G 8% /
/devices 0K 0K 0K 0% /devices
ctfs 0K 0K 0K 0% /system/contract
proc 0K 0K 0K 0% /proc
mnttab 0K 0K 0K 0% /etc/mnttab
swap 59G 664K 59G 1% /etc/svc/volatile
objfs 0K 0K 0K 0% /system/object
sharefs 0K 0K 0K 0% /etc/dfs/sharetab
fd 0K 0K 0K 0% /dev/fd
swap 59G 32K 59G 1% /tmp
swap 59G 64K 59G 1% /var/run
/dev/dsk/c0t0d0s3 477M 1.0M 428M 1% /metadb
# swap -s
total: 184104k bytes allocated + 21872k reserved = 205976k used, 61451456k available
使用format查看了一下,swap使用了s2,确实是32G
partition> p
Current partition table (original):
Total disk cylinders available: 14087 + 2 (reserved cylinders)
Part Tag Flag Cylinders Size Blocks
0 root wm 0 - 6182 60.00GB (6183/0/0) 125836416
1 swap wu 6183 - 9480 32.01GB (3298/0/0) 67120896
2 backup wm 0 - 14086 136.71GB (14087/0/0) 286698624
3 unassigned wm 9481 - 9531 506.81MB (51/0/0) 1037952
4 unassigned wm 0 0 (0/0/0) 0
5 unassigned wm 0 0 (0/0/0) 0
6 unassigned wm 0 0 (0/0/0) 0
7 unassigned wm 0 0 (0/0/0) 0
作者: zhshfeng_xx 发布时间: 2010-06-03
solaris swap非常特别,由swap file和部分物理内存组成。当内存减小时,swap会相应变小。且tmp文件系统也是使用的swap空间,所以建议不往/tmp里面存放文件。且在主机重启之后,/tmp中的所有文件会丢失。
另外,如果在solaris上运行oracle数据库,在oracle 数据库instance启动到nomount阶段,需要分配sga共享内存,oracle为了保证物理内存不够的情况下,内存中的数据能交换到swap空间,所以也会预留分配相同的swap空间,即使不使用也需要分配在那里。
从solaris 8 update 3开始,solaris推出DISM共享内存管理,即动态共享内存调整。而oracle 9i是第一个支持动态共享内存调整的产品,所以在oracle 9i中新增了动态SGA调整功能。所以如果要在SUN主机上运行oracle数据库,建议swap device至少大于等于物理内存大小(不管主机物理内存是否非常大),否则可能会出现因为swap空间不足而到导致系统无法fork新进程的情况。
另外,如果在solaris上运行oracle数据库,在oracle 数据库instance启动到nomount阶段,需要分配sga共享内存,oracle为了保证物理内存不够的情况下,内存中的数据能交换到swap空间,所以也会预留分配相同的swap空间,即使不使用也需要分配在那里。
从solaris 8 update 3开始,solaris推出DISM共享内存管理,即动态共享内存调整。而oracle 9i是第一个支持动态共享内存调整的产品,所以在oracle 9i中新增了动态SGA调整功能。所以如果要在SUN主机上运行oracle数据库,建议swap device至少大于等于物理内存大小(不管主机物理内存是否非常大),否则可能会出现因为swap空间不足而到导致系统无法fork新进程的情况。
作者: asx_liu 发布时间: 2010-06-03
2楼正解
作者: easybegin 发布时间: 2010-06-03
多谢楼上的解答,我的内存是32G,swap划分的也是32G,也是为了跑oracle,swap会不会有些小?
作者: zhshfeng_xx 发布时间: 2010-06-04
不会
作者: easybegin 发布时间: 2010-06-04
如果是512G以上内存呢?

作者: killer911 发布时间: 2010-06-04
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28