使用内存作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为例,说明了挂载步骤,这是需要手动挂的方法。
- #!/bin/bash
- # Alex Alexander (wired) <alex.alexander@gmail.com>
- # http://www.linuxized.com
- #
- # this script makes sure your .mozilla folder is in tmpfs and constantly syncs it
- # with a folder on your hdd so you won't lose anything :)
- # for more details on how it works visit my blog in the link above.
- #
- # for this to have any meaning, the MOZTMPFS folder must be on tmpfs
- # i.e. to make /var/tmp a tmpfs folder, add the following in /etc/fstab
- # tmpfs /var/tmp tmpfs size=768M,mode=0777 0 0
- #
- # don't forget to mount the first time!
- # your ram mozilla folder
- MOZTMPFS=/var/tmp/`whoami`_mozilla
- # your original mozilla folder - i recommend: mv ~/.mozilla ~/.mozilla-hdd
- MOZHDD="${HOME}/.mozilla-hdd"
- # your ~/.mozilla
- MOZHOME="${HOME}/.mozilla"
- # seconds interval for rsync
- INTERVAL=60
- # lets make sure MOZHDD exists before we do anything naughty
- if [ ! -d "${MOZHDD}" ]; then
- echo "ERROR"
- echo "${MOZHDD} doesn't exist."
- echo "we won't do anything until you cp/mv your ${MOZHOME} folder there."
- echo "try: mv ${MOZHOME} ${MOZHDD}"
- exit
- fi
- # check for and create tmp folder
- if [ ! -d "${MOZTMPFS}" ]; then
- mkdir -p ${MOZTMPFS}
- fi
- # check for ~/.mozilla
- # if it exists and is a directory die
- if [ -e "${MOZHOME}" ] && [ ! -L "${MOZHOME}" ]; then
- echo "ERROR"
- echo "${MOZHOME} should not exist or should be a link"
- echo "aborting to avoid permanent damage"
- echo "backup and/or delete ${MOZHOME} and try again"
- exit
- else
- if [ ! -e "${MOZHOME}" ]; then
- ln -s "${MOZTMPFS}" "${MOZHOME}"
- fi
- fi
- # sync to tmpfs
- echo "syching ${MOZHDD} to ${MOZTMPFS}"
- rsync -avi --delete "${MOZHDD}/" "${MOZTMPFS}/"
- echo "executing reverse sync every ${INTERVAL} seconds"
- ( while true; do sleep ${INTERVAL}; rsync -avi --delete "${MOZTMPFS}/" "${MOZHDD}/"; done; ) &
- SYNC=$!
- echo "launching firefox";
- firefox
- echo "firefox closed, kill auto sync and reverse sync one last time"
- echo "please wait..."
- kill $!
- rsync -avi --delete "${MOZTMPFS}/" "${MOZHDD}/"
- echo "all done, removing ${MOZHOME} link for safety reasons =]";
- 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的网站特别的快。