动态网站制作指南
[  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 操作系统 > Linux教程
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Linux教程 ]的信息

本月文章推荐
.RHEL5 Squid透明代理服务器配置过.
.Linux命令Man解释:ftpaccess(5) .
.修改VMware下Ubuntu界面分辨率过.
.Ubuntu平台屏幕录像工具RecordMy.
.Linux 指令篇:DOS相容指令--mdel.
.红帽Linux推动JBoss再建中间件产.
.Ubuntu Linux携手诺基亚启动ARM移.
.Linux操作系统多线程同步Mutex详.
.新闻观察:Ubuntu Linux不会涉足.
.Linux操作系统下TCP keepalive属.
.在 Ubuntu 系统上安装 Google Ea.
.Redhat AS5 Squid透明代理配置过.
.linux磁盘管理命令--dd.
.Intel发布最新Linux显卡驱动2.2..
.Linux 下采用软件实现RAID.
.Linux操作系统下远程登录Windows.
.Linux 常用命令(备份与压缩).
.新手学堂:Linux下kdevelop使用S.
.系统管理:如何禁止RHEL AS4的图.
.Linux 常用命令(在Linux环境下运.

Ramdisk:在linux下如何使用 RAM 作为虚拟硬盘?

文章类别:Linux教程 | 发表日期:2005-4-15 |


RamDisk简介
--------------------------------------------------------------------------------

这是一个关于在RedHat 6.0系统上如何建立一个RamDisk的文章。对于其他的发行版本这个过程也应该是相识的。 

什么是RamDisk? 一个A RamDisk 是你用作一个硬盘分区的一部分内存空间。或者换句话说,你是把内存假设为一个硬盘驱动器,并且你在它的上面存储文件。为什么我们要使用 RamDisk? 好的,如果你知道通常将要使用的文件是被调入内存以提高计算机的性能,因为内存的存储速度要快于硬盘。 这样类似于web服务器上的数据就可以用这个方法提高访问速度。或是有点愚蠢的,假如你有一台PII550计算机并且有1G的内存空间和500M的硬盘,你也可以用这种方法来增加你的你的硬盘空间。 或者,你也可以做一个无盘的机器,,没有比这个更为疯狂的了。 

以下是一些可以得到帮助的资源。 

http://metalab.unc.edu/LDP/HOWTO/Kernel-HOWTO.html 
http://metalab.unc.edu/LDP/HOWTO/mini/LILO.html 
--------------------------------------------------------------------------------
如何使用RamDisk
--------------------------------------------------------------------------------

OK,使用ramdisk是一件很简单的事。首先,RedHat6.0的默认安装就支持ramdisk。你所需要做的就是格式化一个ramdisk并且把他家在到一个目录上。列出所有可用的ramdisk用“ls -al /dev/ram*”。这就会列出你现有可用的ramdisk。这些ramdisk并不抢夺内存,除非进行格式化的一类操作。这里有一个使用ramdisk的例子。

# create a mount point:
mkdir /tmp/ramdisk0
# create a filesystem:
mke2fs /dev/ram0
# mount the ramdisk:
mount /dev/ram0 /tmp/ramdisk0

这三个命令将为ramdisk创建一个目录,格式化ramdisk(创建文件系统),并且加载这个ramdisk到"/tmp/ramdisk0". 现在你可以将这个目录看成一个虚拟的分区。使用它就象使用其它的目录一样。
如果对ramdisk的格式化失败,那就是你的内核不支持ramdisk。其内核配置选项是 CONFIG_BLK_DEV_RAM . 

ramdisk的默认大小是 4Mb=4096 blocks. 在你进行mke2fs的时候你可以看到你的ramdisk的大小。mke2fs /dev/ram0 将产生类适于以下的信息: 

mke2fs 1.14, 9-Jan-1999 for EXT2 FS 0.5b, 95/08/09
Linux ext2 filesystem format
Filesystem label=
1024 inodes, 4096 blocks
204 blocks (4.98%) reserved for the super user
First data block=1
Block size=1024 (log=0)
Fragment size=1024 (log=0)
1 block group
8192 blocks per group, 8192 fragments per group
1024 inodes per group

执行df -k /dev/ram0 你实际用了多少空间:


>df -k /dev/ram0
Filesystem  1k-blocks  Used Available Use% Mounted on
/dev/ram0        3963    13      3746   0% /tmp/ramdisk0

那么麻烦是什么呢?在系统重新启动的时候,将刷新这个区域。不要将任何没有拷贝的数据放在这个区域。如果你对这个目录进行了修改,并且需要保留这些修改,采取一些办法进行备份。

--------------------------------------------------------------------------------  
改变 ramdisks 的大小
--------------------------------------------------------------------------------

要想使用ramdisk你必须或是得到内核的支持或是以模块的形式将他加载到系统中。其中内核的配置选项是 CONFIG_BLK_DEV_RAM . 把ramdisk编译成一个可加载的模块的好处是你可以在加载是重新确定ramdisk的大小。


Okay, 第一个办法。在lilo.conf文件中加入这一行:
   ramdisk_size=10000 (or ramdisk=10000 for old kernels) 
这样在你使用lilo命令和重新启动计算机之后,ramdisk的默认大小将会是10M。这是一个/etc/lilo.conf文件的例子:

boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz
label=linux
root=/dev/hda2
read-only
ramdisk_size=10000

确切的说,我只是使用了9M多的空间,文件系统也将占用一定空间。

当你以模块的形式编译ramdisk时,你可以在加载的时候决定ramdisk的大小。这也可以通过修改/etc/conf.modules 的选项设置来做到。 

options rd rd_size=10000

或是在命令行中指定参数给ismod:

insmod rd rd_size=10000

以下是介绍如何使用这样的模块的例子: 

卸载ramdisk,umount /tmp/ramdisk0 . 
卸载模块(再上一节所提到的过程中自动加载), rmmod rd 
加载ramdisk模块并且把它的大校设为20M,insmod rd rd_size=20000 
创建一个文件系统, mke2fs /dev/ram0 
加载ramdisk, mount /dev/ram0 /tmp/ramdisk0 

--------------------------------------------------------------------------------  
使用 RamDisk 做 webserver例子.
--------------------------------------------------------------------------------

Okay, 这是一个用3个ramdisk做webserver的例子。让我们设想你在 RedHat 6.0 上默认安装的 Apache 的cgi-scripts, html, 和 icons都不超过9M。这就是如何实现这一点。
首先,利用命令将webserver的跟目录移到另外一个地方。并且加载ramdisk。

mv /home/httpd/ /home/httpd_real
mkdir /home/httpd
mkdir /home/httpd/cgi-bin
mkdir /home/httpd/html
mkdir /home/httpd/icons

接下来,将这些命令加到启动进程中/etc/rc.d/init.d/httpd.init (或者是系统启动httpd的地方): 


### Make the ramdisk partitions
/sbin/mkfs -t ext2 /dev/ram0
/sbin/mkfs -t ext2 /dev/ram1
/sbin/mkfs -t ext2 /dev/ram2

### Mount the ramdisks to their appropriate places

mount /dev/ram0 /home/httpd/cgi-bin
mount /dev/ram1 /home/httpd/icons
mount /dev/ram2 /home/httpd/html

### Copying real directory to ramdisks (the
  ### data on the ramdisks is lost after a reboot)
tar -C /home/httpd_real -c . | tar -C /home/httpd -x
  
  ### After this you can start the web-server.

--------------------------------------------------------------------------------  
注释
--------------------------------------------------------------------------------
请记住一件事如果你改变了数据备份你的数据。在系统重新启动时,所有的变化将失去。
应该设置一个cron进程。使它每十分钟时检查一下文件是否有变动,并且备份这些改动。另一种可能是你对真实的目录进行了改动,所以要拷贝这些变动到ramdisk。这样做也许更安全。 
一个非常酷的做法是用一个有1G内存的计算机并且将其中的256M作为"/tmp". 如果你有很多的进程使用"/tmp",这样做会提高你的系统速度。同时,/tmp目录中的东西将在系统重新启动的时候被删除,这可是一件好事。 
Linux使用所有没有被程序使用的内存作为一个缓存,但我的经历告诉我ramdisk将会更多的提高速度。 

--------------------------------------------------------------------------------

上一篇:在笔记型电脑上装 RedHat 7.0 人气:9555
下一篇:磁带驱动器的使用 人气:6612
点击此处浏览全部Linux的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-5-16 乘风多用户PHP统计系统 v3.4
2008-5-16 轩溪下载系统 v3.78 build 0515
2008-5-16 普沙B2B 浙江省商贸网 v2.0
2008-5-16 asp抓蜘蛛的小程序 v1.0
2008-5-16 齐齐乐网私服发布站 仿haosf新版
2008-5-16 IssTech信息反馈系统 v1.0
2008-5-16 自由领域大头贴(js接口版) 修正版
2008-5-16 医院网站系统
2008-5-16 智拓-分类信息管理系统 v5.0
2008-5-7 Windows XP SP3 官方英文版
2008-5-7 Windows XP SP3 官方香港中文版
2008-5-7 Windows XP SP3 官方繁体中文版
2008-5-7 Windows XP SP3 官方简体中文版
2008-4-30 Multiple Unzip Wizard 1.02
2008-4-30 Multiple Unrar Wizard 1.0.0
2008-4-30 WinZip Install/Try/Uninstall a
2008-4-30 ZIP压缩文件修复器WzipFix 2.0
2008-4-30 Pentazip 6.01 Build 189 For Wi
  发表评论
姓 名: 验证码: [ 全部贴吧 ] [ 浏览评论 ]
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報