日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

在Linux下禁用、添加|修改Swap分區(qū)(虛擬內(nèi)存)教程

作者:西京刀客 更新時(shí)間: 2023-07-17 編程語(yǔ)言

在Linux下禁用、添加|修改Swap分區(qū)(虛擬內(nèi)存)教程

swap分區(qū)

linux內(nèi)存通過(guò) virtual memory 虛擬內(nèi)存來(lái)管理整個(gè)內(nèi)存, 虛擬內(nèi)存管理著物理內(nèi)存,也管理著swap交換空間。Linux使用交換空間來(lái)增加主機(jī)可用的虛擬內(nèi)存量。

Swap分區(qū),即交換區(qū),Swap空間的作用可簡(jiǎn)單描述為:當(dāng)系統(tǒng)的物理內(nèi)存不夠用的時(shí)候,就需要將物理內(nèi)存中的一部分空間釋放出來(lái),以供當(dāng)前運(yùn)行的程序使用。那些被釋放的空間可能來(lái)自一些很長(zhǎng)時(shí)間沒(méi)有什么操作的程序,這些被釋放的空間被臨時(shí)保存到Swap空間中,等到那些程序要運(yùn)行時(shí),再?gòu)腟wap中恢復(fù)保存的數(shù)據(jù)到內(nèi)存中。

我們一般所說(shuō)的swap,指的是一個(gè)交換分區(qū)或文件。在Linux上可以使用swapon -s命令查看當(dāng)前系統(tǒng)上正在使用的交換空間有哪些,以及相關(guān)信息。

從功能上講,交換分區(qū)主要是在內(nèi)存不夠用的時(shí)候,將部分內(nèi)存上的數(shù)據(jù)交換到swap空間上,以便讓系統(tǒng)不會(huì)因內(nèi)存不夠用而導(dǎo)致oom或者更致命的情況出現(xiàn)

Linux Swap 分區(qū)大小選擇

Linux Swap 分區(qū)大小跟你服務(wù)器本身的物理內(nèi)存大小有關(guān),內(nèi)存越大,設(shè)置的 Swap 分區(qū)也應(yīng)該越大,兩者的關(guān)系如下。

物理內(nèi)存 交換分區(qū)(SWAP)
<= 4g 至少 4G
4~16G 至少 8G
16G~64G 至少 16G
64G~256G 至少 32G

swappiness

/proc/sys/vm/swappiness這個(gè)文件,可以用來(lái)調(diào)整跟swap相關(guān)的參數(shù)。這個(gè)文件的默認(rèn)值是60,可以的取值范圍是0-100。

這個(gè)文件的值用來(lái)定義內(nèi)核使用swap的積極程度:

  • 值越高,內(nèi)核就會(huì)越積極的使用swap;
  • 值越低,就會(huì)降低對(duì)swap的使用積極性。
  • 如果這個(gè)值為0,那么內(nèi)存在free和file-backed使用的頁(yè)面總量小于高水位標(biāo)記(high water mark)之前,不會(huì)發(fā)生交換。

Linux下禁用swap分區(qū)

  1. 第一步,關(guān)閉 swap 分區(qū)
    關(guān)閉 swap 分區(qū),如果無(wú)法關(guān)閉 Swap 分區(qū),那可能是因?yàn)槲锢韮?nèi)存當(dāng)前用量 + Swap 分區(qū)當(dāng)前用量已經(jīng)超過(guò)了物理內(nèi)存的總大小,我們可以先重啟服務(wù)器,在機(jī)器剛啟動(dòng)的時(shí)候關(guān)閉 Swap 分區(qū)。
    執(zhí)行完命令,建議多等一會(huì)~
swapoff -a
  1. 修改配置文件
    修改配置文件,—注釋"/dev/mapper/centos_master-swap swap"一行
vim /etc/fstab
  1. 確認(rèn)swap已經(jīng)關(guān)閉
    檢查 SWAP 狀態(tài), —Swap一行全部為0則為關(guān)閉狀態(tài),若都顯示 0 則表示關(guān)閉成功
[root@dev logs]# free -h
              total        used        free      shared  buff/cache   available
Mem:            15G        5.3G        284M        822M          9G        8.9G
Swap:            0B          0B          0B
[root@dev logs]#
  1. 調(diào)整 swappiness 參數(shù)
echo 0 > /proc/sys/vm/swappiness   # 臨時(shí)生效

永久生效

vim /etc/sysctl.conf

修改 vm.swappiness 的修改為 0

vm.swappiness=0

使配置生效
sysctl -p

在Linux下添加|修改Swap分區(qū)

在Linux下添加|修改Swap分區(qū)(虛擬內(nèi)存)教程
參考URL: https://www.liujason.com/old-blog/2832.html

第一步,確認(rèn)是否添加過(guò)swap分區(qū)
為了防止出現(xiàn)任何以外,請(qǐng)先看一下內(nèi)存中是否已經(jīng)有swap:

free -m

一般情況下運(yùn)行命令后會(huì)出現(xiàn)如下的內(nèi)容:

total used free shared buffers cached
Mem: 1840 1614 226 15 36 1340
-/+ buffers/cache: 238 1602
Swap: 0 0 0
如果你看到 Swap 分區(qū)中是0的話,那么就可以接著看第二步

如果不是的話說(shuō)明你已經(jīng)有了swap分區(qū),你可以通過(guò)下面的命令查看swap文件:

# swapon -s
Filename				Type		Size	Used	Priority
/swap.img                              	file    	4194300	104448	-2

第二步,創(chuàng)建Swap分區(qū)
mkdir /swap
cd /swap

使用dd來(lái)創(chuàng)建一個(gè)空的swap文件(120G 2048*60為例):
dd if=/dev/zero of=/swap/swapfile count=122880 bs=1M

原文鏈接:https://blog.csdn.net/inthat/article/details/107211445

  • 上一篇:沒(méi)有了
  • 下一篇:沒(méi)有了
欄目分類
最近更新