CentOS增加虛擬記憶體

2021-10-10 16:39:51 字數 1584 閱讀 8678

最近在搭建自己寫的部落格**,使用的是cloud+vue專案.沒想到的是微服務太佔記憶體了.只啟動了一些中介軟體,三個微服務.我阿里雲2h4g的伺服器就快扛不住了.

為此只能進行擴充虛擬記憶體了.

free -h
因為我之前增加了交換空間4g,所以swap會顯示4g,並且已經使用了1g了

使用dd命令建立名為swapfile 的swap交換檔案(檔名和目錄任意):

dd  if=/dev/zero  of=/var/swapfile  bs=1024  count=4194304
dev/zero是linux的一種特殊字元裝置(輸入裝置),可以用來建立乙個指定長度用於初始化的空檔案,如臨時交換檔案,該裝置無窮盡地提供0,可以提供任何你需要的數目。 

bs=1024  :單位資料塊(block)同時讀入/輸出的塊位元組大小為1024  個位元組即1kb,bs(即block size)。

count = 4194304 表示的是4g

具體計算公式為:1kb * 4194304 =1kb *1024(k)*1024*4 = 4194304 =4g

如果小夥伴需要調整交換區的大小的話,可以自行設定其他的

執行完命令後,會進行4g讀寫操作,所以會有一些卡頓,小夥伴耐心等待

mkswap  /var/swapfile
swapon   /var/swapfile
執行以上命令可能會出現:「不安全的許可權 0644,建議使用 0600」類似提示,不要緊張,實際上已經啟用了,可以忽略提示,也可以聽從系統的建議修改下許可權:

chmod -r 0600 /var/swapfile
free -h
echo  "/var/swapfile   swap  swap  defaults  0  0" >>  /etc/fstab
7、檢視是否已經使用了交換記憶體

top
我們能夠看到,交換空間已經成功被使用

一般預設的情況,當我們開啟交換虛擬記憶體空間後,預設好像是當記憶體使用百分50的時候,就會開始使用交換空間,這樣就會造成乙個情況,就是本身物理記憶體還沒有使用完成, 缺去使用虛擬記憶體,這樣肯定會影響我們的使用效率,那麼我們怎麼避免這個情況的發生呢?

所以,我們現在並不希望我們的機器過度依賴swap分割槽,只有當我們 負載超過某個百分比的時候,才使用交換空間,所以這也決定了,我們這個值並不是非常大,一般設定 10 ~50 左右。

當然如果小夥伴的是ssd的話,那麼這個值可以稍微大一些。

設定永久有效,重啟系統後生效

我們最後再次通過top命令,能夠檢視到,交換空間已經被使用了,物理記憶體也大概占用了百分90左右

到此時,就擴容了4g的虛擬記憶體了

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...