溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CentOS 7系統(tǒng)增加swap有什么用

發(fā)布時間:2021-06-29 10:36:40 來源:億速云 閱讀:566 作者:chen 欄目:大數(shù)據(jù)

這篇文章主要講解了“CentOS 7系統(tǒng)增加swap有什么用”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“CentOS 7系統(tǒng)增加swap有什么用”吧!


swap是位于磁盤上的特殊文件(或分區(qū)),屬于“虛擬內(nèi)存”的一部分。通俗點就是內(nèi)存的備胎,內(nèi)存充足的情況下,基本上沒swap什么事(和設置有關(guān));內(nèi)存不夠用時系統(tǒng)便將內(nèi)存中的部分數(shù)據(jù)騰挪到swap中,為正在運行的程序騰出內(nèi)存。

使用swap能讓系統(tǒng)運行更多或更大型的程序,但由于swap的讀寫速度遠遜于內(nèi)存,頻繁使用swap可能讓系統(tǒng)和程序有延遲卡頓。

大內(nèi)存計算機swap有必要嗎?

對于內(nèi)存較小的計算機,swap是非常有必要的。swap的存在能讓執(zhí)行吃內(nèi)存程序變得可能,執(zhí)行慢總比不能運行或者奔潰強。但現(xiàn)代計算機動輒8G以上的內(nèi)存,如非運行大型或?qū)I(yè)軟件,內(nèi)存足夠日常使用。這種情況下,swap有存在的必要嗎?

答案還是看使用場景。個人電腦上運行桌面版Linux并且開啟休眠功能,則應該劃分不小于內(nèi)存的swap分區(qū);如果是內(nèi)存足夠大且常年不關(guān)機的服務器,沒有swap也毫無問題。

ssd硬盤要不要設置swap?

之前的ssd硬盤有讀寫壽命的問題,因此不建議將swap文件或分區(qū)放到ssd硬盤上。

目前的ssd硬盤技術(shù)已經(jīng)升級換代更智能,如果有swap需求,放在ssd硬盤上也沒什么問題。

swap設置多大好?

如果開啟休眠功能,應該劃分swap分區(qū),并且分區(qū)大小不能小于內(nèi)存,建議的值是“內(nèi)存大小+2G”。

不用休眠功能的服務器,swap可以為文件,一種確定swap大小的實用方法是:1G內(nèi)存及以下,swap大小為內(nèi)存的兩倍;2-4G內(nèi)存,與內(nèi)存同等大?。?-16G內(nèi)存,swap可固定為4G;17-32G內(nèi)存,8G swap;33 G及以上,固定為16G swap。

上述方法不絕對,有特殊需求可酌情增減swap大小。

怎樣增加swap?

安裝操作系統(tǒng)時候可以分區(qū)(單獨掛載點)形式指定swap,也可以在系統(tǒng)安裝完成后動態(tài)添加和刪除。

查看swap

free命令可以查看系統(tǒng)活動的swap信息,例如:

$ free -m
# 輸出如下
#               total        used        free      shared  buff/cache   available
# Mem:           7976        4979         328         124        2669        2703
# Swap:             0           0           0

第二行是swap信息,可以看到?jīng)]有活動的swap。

也可以用swapon命令查看活動的swap,例如:

$ swapon -s
# 沒有swap信息,所以無輸出
# 有swap的輸出為
# Filename              Type        Size    Used    Priority
# /swap                                     file    2097148 281052  -2

增加swap

假設我們打算運行一個非常占用內(nèi)存的程序,8G物理內(nèi)存不夠,便可借助swap增加系統(tǒng)可用的虛擬內(nèi)存。操作方法如下:

  1. 選定或創(chuàng)建一個作為swap的文件(也可以用分區(qū)),常用創(chuàng)建指定大小文件的命令有fallocatedd。例如創(chuàng)建一個8G大小的文件:

    <pre><code class="bash"># fallocate

sudo fallocate -l 8G /swap

dd

sudo dd bs=1GB count=8 if=/dev/zero of=/swap </code></pre>

由于`dd`有復制的過程執(zhí)行較慢,實踐中建議用`fallocate`;
  1. swap文件會存放內(nèi)存中的數(shù)據(jù),出于安全考慮應限制其它用戶的訪問:sudo chmod 0600 /swap;

  2. 將文件格式化為swap文件:sudo mkswap /swap;

  3. 啟用該swap文件:sudo swapon /swap;如果不想使用swap,可用swapoff命令卸載:sudo swapoff /swap;

  4. 如果希望系統(tǒng)啟動后自動加載swap文件,在**/etc/fstab**文件增加一行:/swap swap swap sw 0 0

增加swap后,可用swapon -sfree -m命令查看swap信息。

swap相關(guān)設置

和swap最直接相關(guān),也是影響系統(tǒng)性能的一個設置參數(shù)便是vm.swappiness。其值是0-100的整數(shù),指示內(nèi)存用掉百分之多少時開始使用swap。100表示盡可能使用swap,0則表示只有物理內(nèi)存不夠時才用上swap備胎。對于服務器,建議10-30之間。

設置和更改swappiness的命令是:sudo sysctl vm.swappiness=10。該命令只對當前系統(tǒng)有效,系統(tǒng)重啟后又恢復默認值。要想設置永久生效,在/etc/sysctl.conf中增加或更改對應的設置行:vm.swappiness = 10。

參考

  1. https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-centos-7

感謝各位的閱讀,以上就是“CentOS 7系統(tǒng)增加swap有什么用”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對CentOS 7系統(tǒng)增加swap有什么用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI