把内存当硬盘使,让你的linux程序运转如飞(在linux下用firefox在线写csdn的blog再也不卡了)

来源:互联网 发布:全球经济数据网站 汇通 编辑:程序博客网 时间:2024/05/27 20:43

使用内存作linux下的/tmp文件夹?

在/etc/fstab中加入一行:

none /tmp tmpfs default 0 0

或者在/etc/rc.local中加入

mount tmpfs /tmp -t tmpfs -o size=128m

注:size=128m 表示/tmp最大能用128m

不管哪种方式,只要linux重启,/tmp下的文件全部消失



首先说一下核心的命令:

  mount -t tmpfs -o size=1024m tmpfs /mnt/ram
这个命令开了一块1G内存来当目录用。不过放心,如果里面没文件,是不会占用内存的,用多少占多少。


当然,你可以在/etc/fstab中加一行语句,挂载一个点。

tmpfs              /var/tmp    tmpfs  size=768M,mode=0777   0      0

不过一般来说没必要手动挂载,因为多数发行版都会在fstab内预留了一个内存目录,挂载在/dev/shm,直接使用即可,/dev/shm针对所有的用户都能进行读写操作,不用担心权限问题;

 

下面的一个bash脚本以firefox为例,说明了挂载步骤,这是需要手动挂的方法。


[python]view plaincopyprint?
  1. #!/bin/bash  
  2. # Alex Alexander (wired) <alex.alexander@gmail.com>  
  3. # http://www.linuxized.com  
  4. #  
  5. # this script makes sure your .mozilla folder is in tmpfs and constantly syncs it  
  6. # with a folder on your hdd so you won't lose anything :)  
  7. # for more details on how it works visit my blog in the link above.  
  8. #  
  9. # for this to have any meaning, the MOZTMPFS folder must be on tmpfs  
  10. # i.e. to make /var/tmp a tmpfs folder, add the following in /etc/fstab  
  11. # tmpfs             /var/tmp    tmpfs  size=768M,mode=0777         0 0  
  12. #  
  13. # don't forget to mount the first time!  
  14. # your ram mozilla folder  
  15. MOZTMPFS=/var/tmp/`whoami`_mozilla  
  16. # your original mozilla folder - i recommend: mv ~/.mozilla ~/.mozilla-hdd  
  17. MOZHDD="${HOME}/.mozilla-hdd"  
  18. # your ~/.mozilla  
  19. MOZHOME="${HOME}/.mozilla"  
  20. # seconds interval for rsync  
  21. INTERVAL=60  
  22. # lets make sure MOZHDD exists before we do anything naughty  
  23. if [ ! -d "${MOZHDD}" ]; then  
  24.     echo "ERROR"  
  25.     echo "${MOZHDD} doesn't exist."  
  26.     echo "we won't do anything until you cp/mv your ${MOZHOME} folder there."  
  27.     echo "try: mv ${MOZHOME} ${MOZHDD}"  
  28.     exit  
  29. fi  
  30. # check for and create tmp folder  
  31. if [ ! -d "${MOZTMPFS}" ]; then  
  32.     mkdir -p ${MOZTMPFS}  
  33. fi  
  34. # check for ~/.mozilla  
  35. # if it exists and is a directory die  
  36. if [ -e "${MOZHOME}" ] && [ ! -L "${MOZHOME}" ]; then  
  37.     echo "ERROR"  
  38.     echo "${MOZHOME} should not exist or should be a link"  
  39.     echo "aborting to avoid permanent damage"  
  40.     echo "backup and/or delete ${MOZHOME} and try again"  
  41.     exit  
  42. else  
  43.     if [ ! -e "${MOZHOME}" ]; then  
  44.         ln -s "${MOZTMPFS}" "${MOZHOME}"  
  45.     fi  
  46. fi  
  47. # sync to tmpfs  
  48. echo "syching ${MOZHDD} to ${MOZTMPFS}"  
  49. rsync -avi --delete "${MOZHDD}/" "${MOZTMPFS}/"  
  50. echo "executing reverse sync every ${INTERVAL} seconds"  
  51. while true; do sleep ${INTERVAL}; rsync -avi --delete "${MOZTMPFS}/" "${MOZHDD}/"; done; ) &  
  52. SYNC=$!  
  53. echo "launching firefox";  
  54. firefox  
  55. echo "firefox closed, kill auto sync and reverse sync one last time"  
  56. echo "please wait..."  
  57. kill $!  
  58. rsync -avi --delete "${MOZTMPFS}/" "${MOZHDD}/"  
  59. echo "all done, removing ${MOZHOME} link for safety reasons =]";  
  60. rm ${MOZHOME}  
 

 

把这个脚本的大致步骤说 一下,

 先需要手动操作:    在/etc/fstab里为/var/tmp设了一个挂载点,即可以用1G的内存。把你家目录下的.mozilla 文件夹重命名为.mozilla-hdd

脚本的操作,然后重启电脑,让他读取fstab中的操作,当然,你不重启电脑,用一个mount命令也可以。如果你不想在/etc/fstab中挂载的话,直接把脚本中的/var/tmp换成/dev/shm也成。

1. 检查是否存在.mozilla-hdd目录,并且确保.mozilla目录不存在

2. 在/var/tmp下建一个文件夹,例如wyc_mozilla,这个文件夹即是.mozilla,然后把建立符号链接.mozilla,链接到挂载到内存的那个目录。

3. 先同步.mozilla-hdd和/var/tmpwyc_mozilla。通过绕这个弯,实际上.mozilla这个配置文件的目录是通过内存读取的.mozilla-hdd目录。同步的目的是预先读出firefox的配置内容,确保你的每一次操作的信息都保存到了.mozilla-hdd目录中。

4. 在后台运行一个进程,每隔一段时间同步一次.mozzilla-hdd和/var/tmpwyc_mozilla目录。时间默认的是60秒。

5. 启动firefox

6. 退出firefox时,同步一下文件,然后杀死后台同步文件的那个进程。

7. 删掉符号链接。

 

使用这个脚本后,firefox的运行速度明显加速,特别是网页中的DIV的设计,脚本什么的,直接就装进内存了。当然,你要运行其它的程序也可以。可以自己修改脚本。如果你在linux下有一个涉及大量数据计算的程序,挂载内存后,把程序直接拷到/var/tmp下将是一个特别好的选择。

 

这也应该是在linux下在线写csdn博客的一个好消息。由于博客以前每一次自动保存,会显的特别卡,现在缓冲文件全部在内存上运行了,保存博客的操作时,根本感觉不到卡了。现在在linux下在线写CSDN博客感觉方便 了,而且打开CSDN的网站特别的快。

原创粉丝点击