设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
编程开发讨论区 —— LinuxSir.cn
›
内核与驱动开发
›
linux为什么非要用swap分区,而不能象windows那样用交换 ...
1
2
/ 2 页
下一页
返回列表
查看:
1772
|
回复:
12
linux为什么非要用swap分区,而不能象windows那样用交换文件
[复制链接]
tukey
tukey
当前离线
积分
14
IP卡
狗仔卡
发表于 2003-11-21 11:18:38
|
显示全部楼层
|
阅读模式
我知道系统很大的情况下,硬盘交换空间是必须的,但是浪费一个分区,总感觉不爽,为什么linux不用交换文件呢,有没有方法改造呢?
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
disaos
disaos
当前离线
积分
18
IP卡
狗仔卡
发表于 2003-11-22 10:39:28
|
显示全部楼层
Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。这种现象对于计算机使用者是经常遇到的。 有一点要声明的是,并不是所有从物理内存中交换出来的数据都会被放到Swap中(如果这样的话,Swap会不堪重负),有相当一部分的数据直接交换到文件系统。例如,有的程序会打开一些文件,对文件进行读写(其实每个程序都至少打开一个文件,那就是运行程序本身),当这些程序的内存空间需要交换出去时,文件部分的数据就没有必要放到Swap空间中了,如果是读文件操作,那么内存数据直接就释放了,不需要交换出来,因为下次需要时,直接从文件系统就能恢复;如果是写文件,只需要将变化的数据保存到文件中,以便恢复。但是那些用malloc(3C)和new函数生成的对象的数据则不同,需要Swap空间,因为它们在文件系统中没有相应的“储备”文件,因此被称为“匿名”(Anonymous)的内存数据,这类数据还包括堆栈中的一些状态和变量数据等,所以说,Swap空间是“匿名”数据的交换空间。
回复
支持
反对
使用道具
举报
显身卡
FMZW
FMZW
当前离线
积分
388
IP卡
狗仔卡
发表于 2003-11-22 10:46:14
|
显示全部楼层
感觉SWAP很少用到.不过我相信"存在的一定是合理的"
回复
支持
反对
使用道具
举报
显身卡
lrd
lrd
当前离线
积分
72
IP卡
狗仔卡
发表于 2003-11-22 12:50:58
|
显示全部楼层
我每次查看swap, 都是全部free.
回复
支持
反对
使用道具
举报
显身卡
georgek
georgek
当前离线
积分
2430
IP卡
狗仔卡
发表于 2003-11-22 13:53:29
|
显示全部楼层
沒什麼不好, 如果你一部電腦有多個linux 系統, 共用一個swap 有什麼不好不會浪費太多空間, 如果是一個98 一個xp 加上要支援休眠你想想用了多少空間
回复
支持
反对
使用道具
举报
显身卡
efan
efan
当前离线
积分
149
IP卡
狗仔卡
发表于 2003-11-25 18:11:53
|
显示全部楼层
交换文件还有产生碎片的缺点呢。
所以windows下经常要整理硬盘
回复
支持
反对
使用道具
举报
显身卡
myduron
myduron
当前离线
积分
978
IP卡
狗仔卡
发表于 2003-11-25 21:25:30
|
显示全部楼层
问一个问题
不用划分/swap分区,而直接用交换文件可以实现同样功能吗?
回复
支持
反对
使用道具
举报
显身卡
georgek
georgek
当前离线
积分
2430
IP卡
狗仔卡
发表于 2003-11-25 23:35:59
|
显示全部楼层
看看kernel 有沒有支援, 好像是有的~~
下次編再看看~~
回复
支持
反对
使用道具
举报
显身卡
bouzouki
bouzouki
当前离线
积分
397
IP卡
狗仔卡
发表于 2003-11-26 07:34:41
|
显示全部楼层
可以用交换文件啊,我以前用过一个叫monkey linux的distro,就是用交换文件(可惜当时还什么都不懂,也没有仔细研究),而且基于umdos的distro目的就是不用重新分区,显然只能用交换文件
回复
支持
反对
使用道具
举报
显身卡
llcspring
llcspring
当前离线
积分
399
IP卡
狗仔卡
发表于 2003-11-30 17:22:22
|
显示全部楼层
先做个500M的文件。
ws945-53:/data# dd if=/dev/zero of=test.swap count=500 bs=1024K
读入了 500+0 个块
输出了 500+0 个块
524288000 bytes transferred in 9.537290 seconds (54972430 bytes/sec)
制做文件系统
ws945-53:/data# mkswap test.swap
Setting up swapspace version 1, size = 524283 kB
加载交换文件。(可以放到/etc/fstab里自动加载)
ws945-53:/data# swapon test.swap
卸载交换文件
ws945-53:/data# swapoff test.swap
回复
支持
反对
使用道具
举报
显身卡
下一页 »
1
2
/ 2 页
下一页
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表