swap 跟 fstab

jerrkill發表於2018-12-10

1 swap

如果系統的實體記憶體用光了,則會用到swap。系統就會跑得很慢,但仍能執行;如果Swap空間用光了,那麼系統就會發生錯誤。通常會出現“application is out of memory”的錯誤,嚴重時會造成服務程式的死鎖。所以要高度重視。

1.1 swap空間大小:

通常情況下,Swap空間應大於或等於實體記憶體的大小,最小不應小於64M,通常Swap空間的大小應是實體記憶體的2-2.5倍。但根據不同的應用,應有不同的配置:如果是小的桌面系統,則只需要較小的Swap空間,而大的伺服器系統則視情況不同需要不同大小的Swap空間。特別是資料庫伺服器和Web伺服器,隨著訪問量的增加,對Swap空間的要求也會增加,具體配置參見各伺服器產品的說明。

1.2

Swap分割槽的數量對效能也有很大的影響。因為Swap交換的操作是磁碟IO的操作,如果有多個Swap交換區,Swap空間的分配會以輪流的方式操作於 所有的Swap,這樣會大大均衡IO的負載,加快Swap交換的速度。如果只有一個交換區,所有的交換操作會使交換區變得很忙,使系統大多數時間處於等待 狀態,效率很低。用效能監視工具就會發現,此時的CPU並不很忙,而系統卻慢。這說明,瓶頸在IO上,依靠提高CPU的速度是解決不了問題的。

1.3 新增 swap 空間

複製程式碼
# 檢視當前記憶體
free -g

# 檢視交換分割槽使用情況
swapon -s

# 建立一個分割槽新增交換檔案,建立交換空間,然後啟動新增的交換空間(1G大小)
dd if=/dev/zero of=/data0/swap bs=1024 count=1024000   
dd if=/dev/zero of=/opt/swap bs=1024 count=2048000
/sbin/mkswap /opt/swap
/sbin/swapon /opt/swap

# 再次檢視記憶體情況
free -g

修改/etc/fstab,使新加的2G交換空間在系統重新啟動後自動生效
echo "/opt/temp/swap swap swap defaults 0 0" >>/etc/fstab

1.4 釋放 swap 空間

實體記憶體接近飽和時,系統會自動將不常用的記憶體檔案轉儲到SWAP中,但SWAP使用率達30%的時候對系統效能可能有一定影響。

sync                         # 先執行下同步
swapoff -a                   # 關閉swap分割槽
swapon -a                    # 開啟swap分割槽
swapoff -a && swapon -a      # 重新整理swap空間,即將SWAP裡的資料轉儲回記憶體,並清空SWAP裡的資料。重新整理原理就是把swap關閉後再重啟。

1.5 常用命令

free -m  #檢視記憶體和虛擬記憶體

注意 docker 容器中使用時候需要容器具有 SYS_ADMIN 許可權

2 /etc/fstab

在linux中常常用mount命令把硬碟分割槽或者光碟掛載到檔案系統中。/etc/fstab就是在開機引導的時候自動掛載到linux的檔案系統。

2.1 屬性詳解

/dev/device mountpoint type rules 0 order

/dev/device mountpoint type rules order 0
需要掛載的裝置 掛載點 檔案系統類形 掛載時的規則 dump(系統備份工具) 啟動時fsck檢查的順序

rules引數取值

  • auto 開機自動掛載
  • default 按照大多數永久檔案系統的預設值設定掛載定義
  • noauto 開機不自動掛載
  • nouser 只有超級使用者可以掛載
  • ro 按只讀許可權掛載
  • rw 按可讀可寫許可權掛載
  • user 任何使用者都可以掛載

高度自律,深度思考,以勤補拙

相關文章