QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1311|回复: 12

linux的虚拟内存问题

[复制链接]
发表于 2005-7-17 12:00:22 | 显示全部楼层 |阅读模式
小弟是linux新手,有个问题请教大侠们:
我装了linux之后发现自己没有设置swap分区,但系统确实可以用了。使用free命令发现swap的各项都是0.
听说没有swap分区表示没有使用虚拟内存,不知道这样会影响系统的性能吗?如果要重新设置swap分区,我应该怎么做?我的硬盘现在有4个分区,三个windows分区和一个linux ext2分区,没有空余的空间了。
发表于 2005-7-17 13:12:06 | 显示全部楼层
传说也可以像Windows一样用文件SWAP,不过似乎性能不如分区Swap
还有……楼上的怎么用Ext2……万一有点意外哭都来不及(偶因为一次意外断电,结果ext2分区以及grub的配置文件全部毁掉了……害偶重装,从此不用ext2)……
试试ext3或者reiserfs,比较安全。reiserfs也快得多。
回复

使用道具 举报

 楼主| 发表于 2005-7-17 15:16:05 | 显示全部楼层
哦...以前只知道ext2,看来这个时代不加强学习就要很快落伍了。呵呵。
我想用软件重新设置swap分区,不知道有没有什么比较安全的方法,帮忙建议一下。解决了功劳是大家的,出了问题是我自己的事了,呵呵。
回复

使用道具 举报

 楼主| 发表于 2005-7-17 15:22:00 | 显示全部楼层
另:谢谢Miliardo老兄的提醒
我会看看这方面的资料,然后想法升级一下,免得重演Miliardo老兄出现过的悲剧。
回复

使用道具 举报

发表于 2005-7-18 09:47:39 | 显示全部楼层
在windows下用pqmagic之类的你用过比较熟悉的分区软件分一个swap分区,一般要求内存的两倍,但通常300M左右就差不多了,自己根据自己的情况选择,分区时设为linux swap格式,然后进入linux用root输入:
[code:1]#swapon[/code:1]就可以了!
回复

使用道具 举报

 楼主| 发表于 2005-7-18 20:17:46 | 显示全部楼层
哦,原来还得用pqmagic进行分区。
看来这个工作不太容易。
我看我还是下次重装系统的时候,再设定swap分区吧。呵呵。
谢谢各位帮忙了
回复

使用道具 举报

发表于 2005-7-18 23:26:16 | 显示全部楼层
新增swap分区

根据Redhat公司的建议,swap分区最适合的大小是物理内存的1-2倍.不过Linux上有些软件对swap分区得需求较大,例如要顺利执行Oracle数据库软件,swap分区至少需要400MB或者物理内存2倍以上的空间.当然我们在安装Linux的时候,就能直接讲swap分区设置到足够的大小,但如果已经安装好Linux了,之后又想再安装类似Oracle的软件,却发现swap分区空间不够,该如何处理?

针对此种情况,有两种解决方法:一是创建新的swap分区;另一则是创建swap文件.
(这里暂时对创建swap文件做说明)

创建swap文件

如果你的硬盘空间已经全部分配给其他分区,也没有多余的预算新添购硬盘,我们可以利用swap文件的方式增加虚拟的swap空间,不过执行性能会较实际的swap分区差.

产生swap文件
要创建swap文件,执行dd命令,新增一个256MB的swap文件:
# dd if=/dev/zero of=/tmp/myswap bs=32k count=8192

(bs=32k指定每个扇区占用32kb,读入了8192+0个区段,输出了8192+0个区段)
注意:bs参数的目的在于指定每次读取及输入多少个bytes;由于磁盘存取的最小单位为扇区,因此设置bs也等于设置每个扇区的大小;而count的目的则在指定可以使用多少个扇区.因此,可以使用的硬盘空间就等于bs*count.以上范例为例,可以使用的硬盘空间等于32*8192=262144(KB),亦等于256MB.

执行上述命令后,会在/tmp目录中创建一个256MB的myswap文件

格式华及启动swap文件
接下来执行mkswap命令,将myswap文件格式化成s文件系统,系统才能使用,切换到/tmp目录,并执行以下命令:
# mkswap myswap (#将文件格式化为s文件格式)
setting up swapspace version 1 , size = 262140 KB

# swapon /tmp/myswap (#启动swap分区)

要停止使用新创建的swap文件,只要执行 swapoff /tmp/myswap命令即可.

开机时自动启动新添加的swap分区
如果每次开机后都要执行swapon命令启动swap分区或者文件,这太麻烦了.这时可以利用文字编辑器在/etc/fstab文件加一行,好让开机时自动启动swap分区及文件:

/dec/hdb5 swap swap defaults 0 0 (开机时启动此swap分区)
/tmp/myswap swap swap defaults 0 0 (开机时启动此swap文件)
回复

使用道具 举报

发表于 2005-7-19 10:56:40 | 显示全部楼层
学习了!
回复

使用道具 举报

 楼主| 发表于 2005-7-19 13:14:28 | 显示全部楼层
回去马上试
老实说挺怕用分区软件的,呵呵。
回复

使用道具 举报

 楼主| 发表于 2005-7-19 21:10:55 | 显示全部楼层
已按大虾的指导做了,结果十分顺利(以下是gnome控制台下的输出)
#  dd if=/dev/zero of=/tmp/myswap bs=32k count=8192
读入了 8192+0 个块
输出了 8192+0 个块
268435456 bytes transferred in 26.816938 seconds (10009922 bytes/sec)
# cd /tmp
# mkswap myswap
Setting up swapspace version 1, size = 268431 kB
no label, UUID=a608e790-86eb-4d95-b0c7-e382888699b0
# swapon /tmp/myswap
# free
             total       used       free     shared    buffers     cached
Mem:        224432     211580      12852          0       3116      78700
-/+ buffers/cache:     129764      94668
Swap:       262136      10584     251552

然后试了一下打开txt、pdf、png之类的文档,感觉速度均有所提高.
打开文件夹的速度也显著提高了。
没有来及试移动硬盘上的文件(没带身上),以前打开总是较慢的,相信设置虚拟内存文件后也会提速不少。

非常感谢!
回复

使用道具 举报

 楼主| 发表于 2005-7-19 21:16:03 | 显示全部楼层
另:终于敢在linux下看DVD了!效果还不错(Athlon XP 1800+,256M)。
回复

使用道具 举报

发表于 2005-7-20 00:00:45 | 显示全部楼层
学习中
回复

使用道具 举报

发表于 2005-7-20 13:02:35 | 显示全部楼层
不看电影
不看大图片
不做大计算题。
不.....
我的swap似乎一直在空闲
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 20:29 , Processed in 0.068702 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表