[閒聊]有趣的 tmpfs

放輕鬆,這個版純聊天不談技術,歡迎大家進來坐坐。

[閒聊]有趣的 tmpfs

文章阿信 » 週日 8月 08, 2004 4:41 pm

昨天將 /dev/shm 掛載的 tmpfs 加大到 768M(更改/etc/default/tmpfs),然後抓 firefly 的 Openoffice 裝在這個地方。

想不到第一次開啟的速度不需要 2 秒,比已往快太多了,ram的速度比 hard drive快太多了... :-D

有興趣的朋友也可以來玩玩看喔,目前都是在 /dev/shm下面compile軟體...:-D

BTW...tmpfs 預設是掛載 ram的一半大小,您可以自行加大,但不要超過太多,以免系統用到 SWAP,這樣反而會變慢喔... ;-)
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

文章小狐狸 » 週日 8月 08, 2004 5:07 pm

??

ls: /dev/shm: 沒有此一檔案或目錄

我沒有耶~~要裝甚麼套件嗎?
自由是 狐狸 的 天性 !
圖檔圖檔我的小站
圖檔圖檔
頭像
小狐狸
版主
版主
 
文章: 541
註冊時間: 週四 4月 17, 2003 10:21 pm

文章d2207197 » 週日 8月 08, 2004 5:50 pm

安裝 devfsd 他就會自己出現了吧
應該也是可以自己建立
頭像
d2207197
鑽研的研究生
鑽研的研究生
 
文章: 1763
註冊時間: 週二 5月 27, 2003 9:57 pm
來自: 火星

文章阿信 » 週日 8月 08, 2004 10:55 pm

小狐狸 寫:??

ls: /dev/shm: 沒有此一檔案或目錄

我沒有耶~~要裝甚麼套件嗎?


:shock:
您可以檢查一下 /etc/init.d/mountvirtfs 這個指令...

小弟沒有安裝過 devfsd,可能是 makedev 自己建立的吧? :mygod:
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

文章moto » 週五 12月 17, 2004 2:41 pm

關於 tmpfs 底下有完整的介紹:

[英文]Using the virtual memory (VM) filesystem and bind mounts
[簡體中文]使用虛擬內存(virtual memory,VM)文件系統和綁定安裝

簡單的說 tmpfs 是一套以使用記憶體為基礎的檔案系統,不同於 ramdisk 的最大差別在於, ramdisk 雖然也使用記憶體..但它的行為屬於 Block device ,所以使用前必須先 format ( mkfs ) ,而 tmpfs 使用上就很方便囉.. 直接 mount 即可,例如把系統的 /tmp 改為 tmpfs ,您只要在 /etc/fstab 加入底下這段即可:

代碼: 選擇全部
tmpfs   /tmp   tmpfs   size=100m,mode=1777   0 0


其中 size 的單位為 mega byte ,請依照您的記憶體容量作適度調整,當您這麼做之後任何放在 /tmp 底下的檔案都將佔掉記憶體的容量!

tmpfs 的最大好處自然是速度快囉!但請留意因為是使用記憶體空間,所以重新開機後資料將全部消失!

debian 跟其他 linux distribution 很大不同點是,系統設計上會在每次開機時清除 /tmp 資料,所以把 /tmp 改為 tmpfs 對於 debian 來說是非常合適的應用.. ;-)

所以現在您知道 tmpfs 的特性之後,您便可以舉一反三自己來利用嚕 8-)

例如有人就這麼用: 巧用tmpfs加速你的linux服務器
歡迎你來到MOTO學園一起討論Debian相關問題。
在post問題前可先別忘記了以下的步驟:
1:翻一下/usr/share/doc/中是否已經有解答了?
2:閱讀一下無痛起步是否已經提到了?
3:找一下google予以解答?
4:善用學園中的"搜尋"功能,往往答案就在裡面窩。
頭像
moto
摩托學園站長
摩托學園站長
 
文章: 2808
註冊時間: 週二 9月 03, 2002 3:37 am
來自: 台北

Re: [閒聊]有趣的 tmpfs

文章flybird » 週五 12月 17, 2004 3:59 pm

阿信 寫:昨天將 /dev/shm 掛載的 tmpfs 加大到 768M(更改/etc/default/tmpfs),然後抓 firefly 的 Openoffice 裝在這個地方。


下次再開機不就全消失了?
有額外做自動備份回存嗎?
flybird
懵懂的國中生
懵懂的國中生
 
文章: 249
註冊時間: 週三 7月 07, 2004 4:40 pm
來自: ROT

文章hata » 週六 12月 18, 2004 10:16 pm

在 gentoo 的 /etc/fstab 有這一段:

代碼: 選擇全部
# glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for
# POSIX shared memory (shm_open, shm_unlink).
# (tmpfs is a dynamically expandable/shrinkable ramdisk, and will
#  use almost no memory if not populated with files)
# Adding the following line to /etc/fstab should take care of this:

none    /dev/shm    tmp    fsdefaults    0 0
\bye
頭像
hata
可愛的小學生
可愛的小學生
 
文章: 9
註冊時間: 週三 8月 20, 2003 8:43 pm
來自: third new tokyo city

文章訪客 » 週日 12月 19, 2004 8:51 am

好!!!!!!
放在那裡 compile 可以超快耶!!!!
遲些試一試~
訪客
 

文章csj » 週日 12月 19, 2004 9:55 am

真的很好用說,
我剛剛測試開 firefox 時間只需要 3.5秒
平常都需要 6,7秒左右

謝謝這心得 :-D
歡迎光臨我的 blog:
http://csj.homelinux.org/blog
csj
可愛的小學生
可愛的小學生
 
文章: 56
註冊時間: 週五 8月 27, 2004 3:12 pm
來自: 台北

文章antonyshen » 週三 12月 22, 2004 9:38 am



請問一下,光於上述聯結當中提到可以用如下指令

# mkdir /dev/shm/tmp

# chmod 1777 /dev/shm/tmp

# mount --bind /dev/shm/tmp /tmp

將 /tmp 掛在 /dev/shm/tmp 下面。這個做法看起來很酷,但在 Debian 當中,我該把這三行寫在哪裡好呢?總不會每次開機都得手動下這三個指令吧!?
antonyshen
可愛的小學生
可愛的小學生
 
文章: 23
註冊時間: 週五 1月 23, 2004 11:07 am

文章moto » 週三 12月 22, 2004 10:02 am

antonyshen 寫:


請問一下,光於上述聯結當中提到可以用如下指令

# mkdir /dev/shm/tmp

# chmod 1777 /dev/shm/tmp

# mount --bind /dev/shm/tmp /tmp

將 /tmp 掛在 /dev/shm/tmp 下面。這個做法看起來很酷,但在 Debian 當中,我該把這三行寫在哪裡好呢?總不會每次開機都得手動下這三個指令吧!?


我個人習慣寫在 rc.local ,但這不是絕對的喔.. :-D
歡迎你來到MOTO學園一起討論Debian相關問題。
在post問題前可先別忘記了以下的步驟:
1:翻一下/usr/share/doc/中是否已經有解答了?
2:閱讀一下無痛起步是否已經提到了?
3:找一下google予以解答?
4:善用學園中的"搜尋"功能,往往答案就在裡面窩。
頭像
moto
摩托學園站長
摩托學園站長
 
文章: 2808
註冊時間: 週二 9月 03, 2002 3:37 am
來自: 台北

文章阿信 » 週三 12月 22, 2004 10:13 am

rc.local is obsoleted in recent debian version and won't support the BSD type. :-)
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

文章yungyuc » 週三 12月 22, 2004 12:19 pm

阿信 寫:rc.local is obsoleted in recent debian version and won't support the BSD type. :-)


嗯嗯,請愛用 /etc/rcS.d :)
頭像
yungyuc
可愛的小學生
可愛的小學生
 
文章: 41
註冊時間: 週二 8月 12, 2003 9:14 pm

文章moto » 週三 12月 22, 2004 1:49 pm

阿信跟 yungyuc 講的是對的,請多利用 rcS 取代原來 rc.local :ooops:
歡迎你來到MOTO學園一起討論Debian相關問題。
在post問題前可先別忘記了以下的步驟:
1:翻一下/usr/share/doc/中是否已經有解答了?
2:閱讀一下無痛起步是否已經提到了?
3:找一下google予以解答?
4:善用學園中的"搜尋"功能,往往答案就在裡面窩。
頭像
moto
摩托學園站長
摩托學園站長
 
文章: 2808
註冊時間: 週二 9月 03, 2002 3:37 am
來自: 台北

文章antonyshen » 週五 12月 24, 2004 8:52 am

moto 寫:阿信跟 yungyuc 講的是對的,請多利用 rcS 取代原來 rc.local :ooops:

用各位先進提供的資訊,把上述指令寫成一個名為 mounttmpdir 的 init script:

#! /bin/sh
#
# mounttmpdir Mount /tmp after mounvirtfs exec-ed
#
# Version: @(#)mounttmpdir 0.01 24-Dec-2004 antony shen
#

# Script needs to be robust and continue when parts fail,
# so we're not setting the "-e" flag.
#set -e

PATH=/lib/init:/bin:/sbin

if [ -d /dev/shm ]
then
if [ ! -d /dev/shm/tmp ]
then
echo -n "Mounting /tmp under /dev/shm..."

mkdir /dev/shm/tmp
chmod 1777 /dev/shm/tmp
mount --bind /dev/shm/tmp /tmp

echo "OK.
fi
else
echo "Failed to find /dev/shm, unable to link /tmp under it!"
fi

接者,可以用 update-rc.d 指令:

update-rc.d mounttmpdir start 37 S .

將這個 init.d script 加到 rcS 裡面。就可以運作了。大家可以試試看。 :-D
antonyshen
可愛的小學生
可愛的小學生
 
文章: 23
註冊時間: 週五 1月 23, 2004 11:07 am

下一頁

回到 talk

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客