一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Linux|Centos|Ubuntu|系統進程|Fedora|注冊表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服務器之家 - 服務器系統 - Ubuntu - 詳解如何在Ubuntu 16.04上增加Swap分區

詳解如何在Ubuntu 16.04上增加Swap分區

2022-03-10 16:46我是康小小 Ubuntu

本篇文章主要介紹了詳解如何在Ubuntu 16.04上增加Swap分區,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

前言

提高服務器響應速度和防止應用程序內存不足錯誤的最簡單方法之一是添加一些交換空間。 在本指南中,我們將介紹如何將交換文件添加到Ubuntu 16.04服務器。

但是,請注意:

盡管swap區通常建議用于使用傳統旋轉硬盤驅動器的系統,但使用與SSD交換可能會導致隨著時間的推移硬件退化問題。 由于這個考慮,我們不建議在DigitalOcean或任何其他使用SSD存儲的供應商上啟用swap分區。 這樣做可能會影響到您和您的鄰居的底層硬件的可靠性。 本指南僅供可能在其他地方有使用旋轉磁盤系統的用戶參考。如果您需要改善DigitalOcean服務器的性能,我們建議升級您的Droplet,以致于有更好的體驗,并且會降低影響您的服務的硬件問題的可能性。

1.首先來了解一下什么是Swap

Swap分區(也稱交換分區)是硬盤上的一個區域,被指定為操作系統可以臨時存儲數據的地方,這些數據不能再保存在RAM中。 基本上,這使您能夠增加服務器在工作“內存”中保留的信息量,但有一些注意事項,主要是當RAM中沒有足夠的空間容納正在使用的應用程序數據時,將使用硬盤驅動器上的交換空間。

寫入磁盤的信息將比保存在RAM中的信息慢得多,但是操作系統更愿意將應用程序數據保存在內存中,并使用交換舊數據。 總的來說,當系統的RAM耗盡時,將交換空間作為回落空間可能是一個很好的安全網,可防止非SSD存儲系統出現內存不足的情況。

2.檢查系統的交換信息

在開始之前,我們可以檢查系統是否已經有一些可用的交換空間,可能有多個交換文件或交換分區,但通常應該是足夠的。我們可以通過如下的命令來查看系統是否有交換分區:

?
1
$ sudo swapon --show

如果沒有任何結果或者沒有任何顯示,說明系統當前沒有可用的交換空間。也可以使用free工具來驗證當前確實沒有可用的交換分區。

?
1
$ free -h

輸出結果:

              total        used        free      shared  buff/cache   available
Mem:           488M         36M        104M        652K        348M        426M
Swap:            0B          0B          0B

可以看到這里的”swap”行均為0,也就是說系統上沒有交換處于活動狀態。

3.檢查硬盤驅動器分區上的可用空間

為swap分配空間的最常見方式是使用專門用于具體某個任務的單獨分, 但是,改變分區方案并不是一定可行的,我們只是可以輕松地創建駐留在現有分區上的交換文件。

在開始之前,我們應該通過輸入以下命令來檢查當前磁盤的使用情況:

?
1
$ df -h

 輸出結果:

Filesystem      Size  Used Avail Use% Mounted on
udev            238M     0  238M   0% /dev
tmpfs            49M  624K   49M   2% /run
/dev/vda1        20G  1.1G   18G   6% /
tmpfs           245M     0  245M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           245M     0  245M   0% /sys/fs/cgroup
tmpfs            49M     0   49M   0% /run/user/1001

在這種情況下,/dev下的設備是我們的磁盤。在這個例子中我們有足夠的空間(只使用了1.1G),當然,您的使用情況可能會有所不同。

盡管對于交換空間的適當大小有許多意見,但這取決于您的個人偏好和應用程序要求。 一般來說,相當于系統內存量的兩倍或者兩倍是一個很好的起點。 另一個很好的經驗是,如果你只是把它用作RAM備用,那么swap分區的大小盡量不要超過4 GB。

4.創建swap文件

現在我們知道了可用的硬盤空間,那我們就可以在文件系統中創建一個交換文件,我們將在我們的根(/)目錄下創建一個名為swapfile的文件。創建交換文件最好的方法是使用fallocate命令,這個命令能立即創建一個預分配大小的文件。由于本示例中的服務器RAM的大小為512MB,因此我們將在本教程中創建一個1 GB大小的文件,并適當加以調整,以滿足您自己的服務器的需求:

?
1
$ sudo fallocate -l 1G /swapfile

創建完成之后,我們可以通過這個命令來驗證是否保留了正確的交換空間:

?
1
$ ls -lh /swapfile

顯示結果:

?
1
$ -rw-r--r-- 1 root root 1.0G Apr 25 11:14 /swapfile

這就說明我們的文件已經創建了正確的空間大小。

5.啟用交換文件

現在我們有一個1 GB大小的文件,我們需要把它變成交換空間

首先,我們需要鎖定文件的權限,以便只有擁有root權限的用戶才能讀取文件內容,這可以防止普通用戶能夠訪問該文件,以免造成重大的安全隱患。

鎖定文件的root權限:

?
1
$ sudo chmod 600 /swapfile

驗證權限:

?
1
$ ls -lh /swapfile

顯示結果:

?
1
-rw------- 1 root root 1.0G Apr 25 11:14 /swapfile

可以看到,只有root用戶啟用了讀寫標志。

接下來,我們可以通過以下命令將文件標記為交換空間

?
1
$ sudo mkswap /swapfile

顯示結果:

Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=6e965805-2ab9-450f-aed6-577e74089dbf

標記文件之后,我們可以啟用該交換文件,讓我們的系統開始使用它:

?
1
$ sudo swapon /swapfile

可以通過以下命令驗證交換空間是否可用:

?
1
$ sudo swapon --show

顯示結果:

NAME      TYPE  SIZE USED PRIO
/swapfile file 1024M   0B   -1

這時,我們可以通過free再次查看我們的設置:

?
1
$ free -h

顯示結果:

              total        used        free      shared  buff/cache   available
Mem:           488M         37M         96M        652K        354M        425M
Swap:          1.0G          0B        1.0G

可以看到swap分區已成功創建,大小為1.0 G,操作系統將在必要時使用。

6.永久保留交換文件

我們最近的更改啟用了當前會話的swap文件,但是,如果我們重新啟動,服務器不會自動保留swap設置,我們可以通過將swap文件添加到/etc/fstab文件中來改變這一點。

備份/etc/fstab文件以防出錯:

?
1
$ sudo cp /etc/fstab /etc/fstab.bak

將swap文件信息添加到/etc/fstab文件的末尾:

?
1
$ echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

這樣就保留了swap文件。

7.調整你的交換設置

在處理交換時,可以配置幾個選項,這些選項會影響系統的性能

7.1 調整swappiness屬性

swappiness參數配置您的系統將數據從RAM交換到交換空間的頻率, 值介于0和100之間,表示百分比。如果swappiness值接近0,內核將不會將數據交換到磁盤,除非絕對必要。要記住一點,與swap文件的交互是“昂貴的”,因為與swap交互花費的時間比與RAM的交互更長,并且會導致性能的顯著下降。系統更少依賴swap分區通常會使你的系統更快。swappiness接近100的值將嘗試將更多的數據放入交換中,以保持更多的RAM空間。根據您的應用程序的內存配置文件或您使用的服務器,這可能會在某些情況下更好。

查看當前的swappiness值:

?
1
$ cat /proc/sys/vm/swappiness

結果顯示

60

對于桌面系統來說,60的swappiness設置不是一個比較壞的值,但是對于服務器,您可能希望將其設置與0更接近的值。

我們可以使用sysctl命令將swappiness設置為不同的值,例如,要將swappiness設置為10:

?
1
$ sudo sysctl vm.swappiness=10

顯示結果:

vm.swappiness = 10

該設置將保持到系統下次重新啟動,如果想要在重啟之后也生效,我們可以通過在/etc/sysctl.conf文件中添加一行實現:

?
1
$ sudo nano /etc/sysctl.conf

在文件的最后添加:

?
1
vm.swappiness=10

完成后保存并關閉文件。

7.2 調整緩存壓力設置

您可能想要修改的另一個相關值是vfs_cache_pressure,這個設置配置系統將選擇多少數據緩存inode和dentry信息。基本上,這是訪問有關文件系統的數據,通常是非常耗時的查詢和頻繁要求,所以這是一個很好的事情,讓您的系統緩存,您可以通過再次查詢proc文件系統來查看當前值。

?
1
$ cat /proc/sys/vm/vfs_cache_pressure

輸出結果:

100

這個配置可能使我們的系統太快地從緩存中刪除inode信息。 我們可以設置一個更保守的值,比如50。

?
1
$ sudo sysctl vm.vfs_cache_pressure=50

顯示結果:

vm.vfs_cache_pressure = 50

和swappiness類似,這只對當前的session有效,我們可以通過將其添加到我們的配置文件來改變它,就像我們使用我們的swappiness設置一樣:

?
1
$ sudo nano /etc/sysctl.conf

在末尾添加:

?
1
vm.vfs_cache_pressure=50

完成后保存并關閉文件。

8.總結

遵循本指南的步驟將給您一些喘息的空間,否則會導致內存不足的例外,swap空間對于避免這些常見問題非常有用,如果遇到OOM(內存不足)錯誤,或者如果發現系統無法使用所需的應用程序,則最佳解決方案是優化應用程序配置或升級服務器。

翻譯自:How To Add Swap Space on Ubuntu 16.04

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/u010429286/article/details/79219230

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产第一页在线视频 | 好大好硬好湿好紧h | 97色蜜桃 | 日本欧美一二三区色视频 | 91制片厂 果冻传媒 天美传媒 | 国产精品免费拍拍拍 | xxnx日本免费护士 | 国产女主播在线播放一区二区 | 美女视频91 | 日本高清在线精品一区二区三区 | 麻豆视频入口 | 免费视频网| www视频免费| 国语在线 | 免费一区视频 | 92国产福利久久青青草原 | 欧美日韩国产一区二区三区不卡 | 国产小视频免费看 | 国产成人8x视频一区二区 | 成人影院在线观看视频 | 国产精品一二区 | 国内精品久久久久久中文字幕 | 美女禁区视频免费观看精选 | 日韩资源在线 | 三叶草私人研究所 | 国产精品国产三级在线专区 | 香蕉久久一区二区三区 | 日本免费一区二区三区 | 大胆私拍模特国模377 | 国产精品污双胞胎在线观看 | 我与肥熟老妇的性事 | 成年人在线免费观看视频网站 | 高h细节肉爽文办公室 | 天天操天天干天天舔 | 97热久久免费频精品99国产成人 | 日本一区二区不卡久久入口 | 亚洲国产成人在线视频 | 国产日韩精品一区二区在线观看 | 国产成人黄网在线免 | 日韩资源 | 无人区乱码区1卡2卡三卡在线 |