理論 實踐來認識 dev shm(共享記憶體目錄)

2021-06-06 02:38:07 字數 1780 閱讀 7905

/dev/shm/是linux下乙個非常有用的目錄,因為這個目錄不在硬碟上,而是在記憶體裡。因此在linux下,就不需要大費周折去建ramdisk,直接使用/dev/shm/就可達到很好的優化效果。 /dev/shm/需要注意的乙個是容量問題,在linux下,它預設最大為記憶體的一半大小,使用df -h /dev/shm/命令可以看到。但它並不會真正的占用這塊記憶體,如果/dev/shm/下沒有任何檔案,它占用的記憶體實際上就是0位元組;如果它最大為1g,裡頭放有 100m檔案,那剩餘的900m仍然可為其它應用程式所使用,但它所占用的100m記憶體,是絕不會被系統**重新劃分的,否則誰還敢往裡頭存檔案呢?

預設系統就會載入/dev/shm ,它就是所謂的tmpfs,有人說就是ramdisk(虛擬磁碟),但不一樣。象虛擬磁碟一樣,tmpfs 可以使用您的 ram,但它也可以使用您的交換分割槽來儲存。而且傳統的虛擬磁碟是個塊裝置,並需要乙個 mkfs 之類的命令才能真正地使用它,tmpfs 是乙個檔案系統,而不是塊裝置;您只是安裝它,它就可以使用了。

tmpfs有以下優勢:

動態檔案系統的大小。

tmpfs 的另乙個主要的好處是它閃電般的速度。因為典型的 tmpfs 檔案系統會完全駐留在 ram 中,讀寫幾乎可以是瞬間的。

tmpfs 資料在重新啟動之後不會保留,因為虛擬記憶體本質上就是易失的。所以有必要做一些指令碼做諸如載入,繫結的操作。

預設的最大一半記憶體大小在某些場合可能不夠用,並且預設的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建個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的錯誤。

注:以上一至三點來自:

試想,如果使用dd命令測試硬碟寫入速度,那麼同樣可以寫入乙個檔案到/dev/shm/,vpsdog在自己的乙個512m記憶體的vps上簡單做了個測試,使用如下命令寫入乙個200m檔案到硬碟和/dev/shm/中:

結果寫入硬碟:343 mb/s;寫入/dev/shm/:1.2 gb/s。這2個數值僅僅只能作為參考,但是可以肯定的是寫入記憶體的速度是遠遠大於寫入硬碟的速度。另外,可以寫入到/dev/shm/最大的容量取決於df -h /dev/shm/命令所看到的大小(預設為記憶體的一半大小)。

PCA理論與實踐

pca作用 降維,pca試圖在力保資料資訊丟失最少的原則下,用較少的綜合變數代替原本較多的變數,而且綜合變數間互不相關,減少冗餘以及盡量消除雜訊.pca的計算步驟 假設樣本觀測資料矩陣為 1.對原始資料標準化處理 0均值化處理 2.計算樣本相關係數矩陣 3.計算協方差矩陣的特徵值和特徵向量 4.選擇...

https理論與實踐

本文內容分為以下三部分 part1 https協議 普通的http請求,在通訊雙方建立了tcp連線之後,就可以進行了。而https則不同,在建立tcp連線之後,需要先進行ssl協議的握手過程,然後才是http的通訊。ssl的握手過程如下圖所示 alice想要與bob進行https的通訊,需要以下幾步...

https理論與實踐

本文內容分為以下三部分 part1 https協議 普通的http請求,在通訊雙方建立了tcp連線之後,就可以進行了。而https則不同,在建立tcp連線之後,需要先進行ssl協議的握手過程,然後才是http的通訊。ssl的握手過程如下圖所示 alice想要與bob進行https的通訊,需要以下幾步...