linux 使用檔案增加虛擬記憶體 swap

2021-09-13 14:19:45 字數 1609 閱讀 4889

之前買了個雲伺服器玩,不過是最低配置的1核1g,後來發現這個記憶體太小了,隨便裝幾個軟體就不行了,記憶體消耗較大的像 redis 執行起來很多問題。

這些時間了解了下 docker 容器,去嘗試了下發現 mysql 就掛了,而且怎麼樣也啟動不了了,後來發現是記憶體實在是不夠了

後來網上了解,如果伺服器的總是報告記憶體不足,並且時常因為記憶體不足而引發服務被強制kill的話,在不增加物理記憶體的情況下,啟用swap交換區作為虛擬記憶體是乙個不錯的選擇。當然這個選擇是在你對訪問速度和快取那些沒什麼要求的情況下,比如你自己測試玩的

虛擬記憶體一般設定為物理記憶體的2倍即可

這裡使用檔案作為swap分割槽 ,下面操作需要在root使用者下操作

使用 free -h 檢視當前記憶體占用情況,可以看到物理記憶體所剩無幾,下面的swap也是使用的檔案作為虛擬記憶體使用的

建立要作為swap分割槽的檔案:增加1gb大小的交換分割槽,則命令寫法如下,其中的count等於想要的塊的數量(bs*count=檔案大小),如下面是2g

這裡我使用的of為/root/swapfile2 ,可以看到該檔案是新建立的,這時候這個檔案還不能直接使用為swap檔案

修改檔案許可權,如不修改,在啟用swap檔案的時候會提示下面資訊(不影響使用,建議修改)

# chmod 0600 /root/swapfile2

格式化為交換分割槽檔案,建立swap的檔案系統,/root/swapfile2需要與上面的of的值一致,這個目錄可以自定義

啟用swap檔案:

可以看到未啟用時虛擬記憶體為2g,啟用後記憶體增加了2g

使系統開機時自啟用

# vim /etc/fstab

在檔案/etc/fstab中新增一行

/root/swapfile2 swap swap defaults 0 0

各個作業系統的優先順序可能都不一樣,如果不調整,你會發現新增的虛擬記憶體幾乎沒有用到

linux增加虛擬記憶體

給當前系統增加虛擬記憶體 虛擬記憶體是計算機系統 記憶體管理的一種技術。它使得應用程式認為它擁有連續的可用的記憶體 乙個連續完整的位址空間 而實際上,它通常是被分隔成多個物理記憶體碎片,還有部分暫時儲存在外部磁碟儲存器上,在需要時進行資料交換。目前,大多數作業系統都使用了虛擬記憶體,如windows...

Linux增加虛擬記憶體

docker容器啟動mysql映象報錯,提示無法分配記憶體,報錯資訊如下 由此我們看到swap為0,考慮適當增加swap。linux開啟swap空間有好幾種方法,在這裡只介紹比較常用的兩種。a.建立交換檔案 fallocate l 4g swapfile dd if dev zero of swap...

增加linux的虛擬記憶體

問題原型 由於伺服器配置不好,記憶體僅僅2g,在安裝oracle資料庫以後,系統記憶體使用100 處理辦法 增加系統的虛擬記憶體 方法如下 就需要增加乙個swap交換檔案。目的是加大虛擬記憶體,原來的是2g,現在擴充套件成了4g。1 進入var目錄 cd var 2 獲取2048m的檔案塊 dd i...