對Linux目錄下面/dev/shm的理解和使用
一、/dev/shm理論 /dev/shm/是linux下一個非常有用的目錄,因為這個目錄不在硬碟上,而是在記憶體裡。因此在linux下,就不需要大費周折去建ramdisk,直接使用/dev/shm/就可達到很好的最佳化效果。 /dev /shm/需要注意的一個是容量問題,在linux下,它預設最大為記憶體的一半大小,使用df -h命令可以看到。但它並不會真正的佔用這塊記憶體,如果/dev/shm/下沒有任何檔案,它佔用的記憶體實際上就是0位元組;如果它最大為1G,裡頭放有 100M檔案,那剩餘的900M仍然可為其它應用程式所使用,但它所佔用的100M記憶體,是絕不會被系統回收重新劃分的,否則誰還敢往裡頭存檔案呢? 預設系統就會載入/dev/shm ,它就是所謂的tmpfs,有人說跟ramdisk(虛擬磁碟),但不一樣。象虛擬磁碟一樣,tmpfs 可以使用您的 RAM,但它也可以使用您的交換分割槽來儲存。而且傳統的虛擬磁碟是個塊裝置,並需要一個 mkfs 之類的命令才能真正地使用它,tmpfs 是一個檔案系統,而不是塊裝置;您只是安裝它,它就可以使用了。 tmpfs有以下優勢: 1,動態檔案系統的大小。 2,tmpfs 的另一個主要的好處是它閃電般的速度。因為典型的 tmpfs 檔案系統會完全駐留在 RAM 中,讀寫幾乎可以是瞬間的。 3,tmpfs 資料在重新啟動之後不會保留,因為虛擬記憶體本質上就是易失的。所以有必要做一些指令碼做諸如載入,繫結的操作。 二、修改/dev/shm大小 預設的最大一半記憶體大小在某些場合可能不夠用,並且預設的inode數量很低一般都要調高些,這時可以用mount命令來管理它。 #mount -o size=1500M -o nr_inodes=1000000 -o noatime,nodiratime -o remount /dev/shm 在2G的機器上,將最大容量調到1.5G,並且inode數量調到1000000,這意味著大致可存入最多一百萬個小檔案。 如果需要永久修改/dev/shm的值,需要修改/etc/fstab tmpfs /dev/shm tmpfs defaults,size=1.5G 0 0 #mount -o remount /dev/shm 三、/dev/shm應用 首先在/dev/shm建個tmp資料夾,然後與實際/tmp繫結 #mkdir /dev/shm/tmp #chmod 1777 /dev/shm/tmp #mount –bind /dev/shm/tmp /tmp(–bind ) 在使用mount –bind olderdir newerdir命令來掛載一個目錄到另一個目錄後,newerdir的許可權和所有者等所有資訊會發生變化。掛載後的目錄繼承了被掛載目錄的所有屬性,除了名稱。Oracle 11g的amm記憶體管理模式就是使用/dev/shm,所以有時候修改MEMORY_TARGET或者MEMORY_MAX_TARGET會出現ORA-00845的錯誤 |
-----------------------------------------------------------------------------------------------------------------------
pxboracle@live.com
2014.5.11 14:23
share you knowledge with the world.
pxboracle@live.com
2014.5.11 14:23
share you knowledge with the world.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12798004/viewspace-1158491/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux系統目錄/dev/shmLinuxdev
- [轉帖]linux的tmpfs和/dev/shm目錄的詳細介紹Linuxdev
- 記錄一下docker踩坑 /dev/shm目錄Dockerdev
- 對/dev/shm認識dev
- linux /dev目錄Linuxdev
- /dev/shmdev
- 11g AMM和/dev/shmdev
- linux下修改/dev/shm引數Linuxdev
- 修改/dev/shm的大小dev
- 學習linux分割槽/dev/shm的應用Linuxdev
- 【例項】tmpfs /dev/shmdev
- /dev/shm大小修改dev
- 新特性:/dev/shm對Oracle 11g的影響devOracle
- linux /dev/shm與tmpfs檔案系統Linuxdev
- /dev/shm與swap的區別dev
- /dev/shm 介紹 --轉載dev
- 修改/dev/shm共享記憶體dev記憶體
- 普通開發者最常使用的linux命令和目錄Linux
- /dev/shm目錄下產生大量的ora_$ORACLE_SID_的二進位制檔案 解決方案devOracle
- Linux下安裝Oralce11g 時/dev/shm 大小的更改Linuxdev
- 修改/dev/shm 重啟失效原因分析dev
- linux中許可權對檔案和目錄的作用Linux
- 【OS】Linux下/dev/shm的作用及ORA-00845錯誤的處理Linuxdev
- Linux中使用rsync——檔案和目錄排除列表Linux
- linux下/dev/shm的大小引發ORA-00845: MEMORY_TARGET not supported on this systemLinuxdev
- linux的目錄Linux
- CentOS7和RHEL7在 /etc/fstab中不包含/dev/shmCentOSdev
- /dev目錄下找不到裝置檔案dev
- linux文件和目錄結構Linux
- linux目錄和硬連結Linux
- Linux檔案和目錄管理Linux
- ORA-00845 memory_target needs larger /dev/shmdev
- Linux中返回上一級目錄和返回根目錄命令Linux
- /opt目錄和/usr目錄的區別
- Linux的目錄娘Linux
- Linux的檔案屬性和目錄配置Linux
- 對Java Web中WEB-INF目錄的理解以及訪問方法JavaWeb
- Linux讀寫執行許可權對目錄和檔案的影響Linux