登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

SeaRiver Blog

实力才是你一生最好的依靠!

 
 
 

日志

 
 

创建一个ramdisk  

2010-03-10 14:48:12|  分类: shell |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

  1 #!/bin/bash
2 # ramdisk.sh

4 # 一个"ramdisk"就是系统RAM内存中的一部分,
5 #+ 只不过它被当作文件系统来操作.
6 # 它的优点是访问速度非常快(读/写时间快).
7 # 缺点: 易失性, 当机器重启或关机时, 会丢失数组.
8 #+ 而且会减少系统可用的RAM.
9 #
10 # 那么ramdisk有什么用呢?
11 # 保存一个大数据集, 比如保存表格或字典.
12 #+ 这样的话, 可以增加查询速度, 因为访问内存比访问硬盘快得多.
13 
14 
15 E_NON_ROOT_USER=70 # 必须以root身份来运行.
16 ROOTUSER_NAME=root
17 
18 MOUNTPT=/mnt/ramdisk
19 SIZE=2000 # 2K个块(可以进行适当的修改)
20 BLOCKSIZE=1024 # 每块的大小为1K(1024字节)
21 DEVICE=/dev/ram0 # 第一个ram设备
22 
23 username=`id -nu`
24 if [ "$username" != "$ROOTUSER_NAME" ]
25 then
26  echo "Must be root to run \"`basename $0`\"."
27  exit $E_NON_ROOT_USER
28 fi
29 
30 if [ ! -d "$MOUNTPT" ] # 测试挂载点是否已经存在,
31 then #+ 如果做了这个判断的话, 当脚本运行多次的时候,
32  mkdir $MOUNTPT #+ 就不会报错了. (译者注: 主要是为了避免多次创建目录.)
33 fi
34 
35 dd if=/dev/zero of=$DEVICE count=$SIZE bs=$BLOCKSIZE # 把RAM设备的内容用0填充.
36  # 为什么必须这么做?
37 mke2fs $DEVICE # 在RAM上创建一个ext2文件系统.
38 mount $DEVICE $MOUNTPT # 挂载上.
39 chmod 777 $MOUNTPT # 使一般用户也可以访问这个ramdisk.
40  # 然而, 只能使用root身份来卸载它.
41 
42 echo "\"$MOUNTPT\" now available for use."
43 # 现在ramdisk就可以访问了, 即使是普通用户也可以访问.
44 
45 # 小心, ramdisk存在易失性,
46 #+ 如果重启或关机的话, 保存的内容就会消失.
47 # 所以, 还是要将你想保存的文件, 保存到常规磁盘目录下.
48 
49 # 重启之后, 运行这个脚本, 将会再次建立一个ramdisk.
50 # 如果你仅仅重新加载/mnt/ramdisk, 而没有运行其他步骤的话, 那就不会正常工作.
51 
52 # 如果对这个脚本进行适当的改进, 就可以将其放入/etc/rc.d/rc.local中,
53 #+ 这样, 在系统启动的时候就会自动建立一个ramdisk.
54 # 这么做非常适合于那些对速度要求很高的数据库服务器.
55
56 exit 0
  评论这张
 
阅读(756)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018