真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

CentOS7上怎么添加Swap交換空間

這篇文章主要講解了“CentOS7上怎么添加Swap交換空間”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“CentOS7上怎么添加Swap交換空間”吧!

這篇文章主要講解了“CentOS7上怎么添加Swap交換空間”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“CentOS7上怎么添加Swap交換空間”吧!

創(chuàng)新互聯(lián)建站云計(jì)算的互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)13年的服務(wù)器租用、綿陽(yáng)機(jī)房托管、云服務(wù)器、虛擬空間、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn),已先后獲得國(guó)家工業(yè)和信息化部頒發(fā)的互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務(wù)許可證。專業(yè)提供云主機(jī)、虛擬空間、國(guó)際域名空間、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。

前言

如何讓響應(yīng)更快?如何避免應(yīng)用出現(xiàn)內(nèi)存不足的錯(cuò)誤?最簡(jiǎn)單的方法就是增加交換空間。Swap是存儲(chǔ)盤上的一塊自留地,操作系統(tǒng)可以在這里暫存一些內(nèi)存里放不下的東西。

這從某種程度上相當(dāng)于增加了服務(wù)器的可用內(nèi)存。雖然從swap讀寫比內(nèi)存慢,但總比沒有好,算是內(nèi)存不夠時(shí)的安全網(wǎng)。

如果沒有swap,則服務(wù)器一旦內(nèi)存不足,就會(huì)開始終止應(yīng)用以釋放內(nèi)存,甚至?xí)罎?,這會(huì)讓你丟失一些還沒來(lái)得及保存的數(shù)據(jù),或者造成當(dāng)機(jī)。有些應(yīng)用明確要求系統(tǒng)配置swap以確保數(shù)據(jù)訪問的可靠性。

本文介紹如何在CentOS 7服務(wù)器上創(chuàng)建并啟用swap文件。

注:swap通常在傳統(tǒng)機(jī)械硬盤上表現(xiàn)更好,在SSD上使用swap可能會(huì)造成問題,尤其是硬件老化之后。所以,對(duì)于DigitalOcean以及其他使用基于SSD的服務(wù)的用戶,我們不推薦啟用swap。這甚至?xí)绊懙礁愕奶摂M機(jī)共用宿主機(jī)的其他用戶。

對(duì)于DigitalOcean用戶,提升性能的最佳方法就是更新Droplet。通常來(lái)說(shuō),升級(jí)后的主機(jī)表現(xiàn)都會(huì)有所提升,并且更不容易受到硬件問題的影響。

準(zhǔn)備工作

首先,你需要一臺(tái)CentOS 7服務(wù)器,配置過(guò)具備sudo權(quán)限的非root用戶(配置過(guò)程可參考這個(gè)教程的第一到第四步驟)。

準(zhǔn)備就緒后,以該用戶名SSH到你的CentOS服務(wù)器上,準(zhǔn)備安裝swap文件。檢查系統(tǒng)的Swap信息

 

首先我們需要檢查系統(tǒng)的存儲(chǔ),看看是否已經(jīng)配置過(guò)swap。一個(gè)系統(tǒng)可以設(shè)置多個(gè)swap文件或分區(qū),不過(guò)一般來(lái)說(shuō)一個(gè)就夠了。

使用swapon命令可以檢查系統(tǒng)是否已經(jīng)配置過(guò)swap,這是一個(gè)通用的swap工具。使用-s標(biāo)簽可列出當(dāng)前存儲(chǔ)設(shè)備上的swap使用情況:

swapon -s

如果該命令沒有返回出結(jié)果,則代表該系統(tǒng)尚未配置過(guò)swap。

或者,我們也可以使用free工具來(lái)查看系統(tǒng)的整體內(nèi)存使用情況,這里可以看到內(nèi)存和swap的使用狀態(tài)(顯示單位為MB):

free -m             total       used       free     shared    buffers     cachedMem:          3953        315       3637          8         11        107-/+ buffers/cache:        196       3756Swap:            0          0       4095

這里可以看到我們這個(gè)系統(tǒng)的total swap空間為0,即沒有配置過(guò)swap。這與我們?cè)趕wapon里看到的結(jié)果相符合。檢查可用的存儲(chǔ)空間

通常,我們建立一個(gè)單獨(dú)的分區(qū)作為swap。然而有時(shí)候由于硬件或軟件的限制,新建分區(qū)的方式無(wú)法實(shí)現(xiàn),這種情況下就可以建立一個(gè)swap文件來(lái)實(shí)現(xiàn)同樣的功能。

開始之前,先檢查一下磁盤的可用空間。輸入如下指令:

df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 59G 1.5G 55G 3% / devtmpfs 2.0G 0 2.0G 0% /dev tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs 2.0G 8.3M 2.0G 1% /run tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup

這里的-h標(biāo)記是為了告訴dh將信息輸出為對(duì)人類友好的格式,比如以MB或GB為單位輸出空間使用和空余情況,而不是直接輸出內(nèi)存塊的個(gè)數(shù)。

從第一行可以看到我們的存儲(chǔ)分區(qū)上還有59GB的空間剩余,這足夠我們操作了。(我這是一臺(tái)中等規(guī)模的新建云主機(jī),每個(gè)人的情況可能有很大不同。)

合適的swap空間是多大?關(guān)于這個(gè)問題有很多種選擇,這取決于你的應(yīng)用需求和你個(gè)人的偏好。一般來(lái)說(shuō),內(nèi)存容量的兩倍就是個(gè)不錯(cuò)的起點(diǎn)。

我的系統(tǒng)內(nèi)存有4GB,如果設(shè)置8GB的swap會(huì)占據(jù)太多空間,所以我決定只設(shè)置4GB就好。創(chuàng)建Swap文件

接下來(lái)我們將在文件系統(tǒng)上創(chuàng)建swap文件。我們要在根目錄(/)下創(chuàng)建一個(gè)名叫swapfile的文件,當(dāng)然你也可以選擇你喜歡的文件名。該文件分配的空間將等于我們需要的swap空間。

最快捷的創(chuàng)建方式是fallocate命令,該命令能夠創(chuàng)建一個(gè)預(yù)分配指定大小空間的文件。輸入如下指令創(chuàng)建一個(gè)4GB的文件:

sudo fallocate -l 4G /swapfile

輸入密碼后,該swap文件將立即創(chuàng)建完畢。我們可以用ls命令檢查文件大小:

ls -lh /swapfile -rw-r--r-- 1 root root 4.0G Oct 30 11:00 /swapfile

至此,我們的swap文件就創(chuàng)建完畢了。啟用Swap文件

現(xiàn)在我們已經(jīng)有了swap文件,但系統(tǒng)還不知道應(yīng)該使用該文件作為swap,這就需要我們告知系統(tǒng)將該文件格式化為swap并啟用起來(lái)。

首先我們需要更改swap文件的權(quán)限,確保只有root才可讀,否則會(huì)有很大的安全隱患。使用chmod命令進(jìn)行權(quán)限操作:

sudo chmod 600 /swapfile

如此,該文件的讀寫都只有root才能操作。使用ls -lh命令檢查一下:

ls -lh /swapfile -rw------- 1 root root 4.0G Oct 30 11:00 /swapfile

然后,使用如下命令告知系統(tǒng)將該文件用于swap:

sudo mkswap /swapfile Setting up swapspace version 1, size = 4194300 KiB no label, UUID=b99230bb-21af-47bc-8c37-de41129c39bf

現(xiàn)在,這個(gè)swap文件就可以作為swap空間使用了。輸入如下命令開始使用該swap:

sudo swapon /swapfile

我們可以輸入如下命令來(lái)確認(rèn)一下設(shè)置是否已經(jīng)生效:

swapon -s Filename Type Size Used Priority /swapfile file 4194300 0 -1

可以看到返回的結(jié)果中已經(jīng)有我們剛才設(shè)置的swap。再使用free工具確認(rèn)一下:

free -m total used free shared buffers cached Mem: 3953 315 3637 8 11 107 -/+ buffers/cache: 196 3756 Swap: 4095 0 4095

至此,我們的swap已經(jīng)設(shè)置完畢,操作系統(tǒng)會(huì)在需要的時(shí)候使用它。

使Swap文件永久生效

至此我們已經(jīng)在系統(tǒng)中啟用了swap文件,然而一旦系統(tǒng)重啟后,服務(wù)器還不能自動(dòng)啟用該文件。要讓系統(tǒng)在重啟后自動(dòng)生效swap,我們可以通過(guò)修改fstab文件來(lái)實(shí)現(xiàn)(這是一個(gè)管理文件系統(tǒng)和分區(qū)的表)。

用sudo權(quán)限打開該文件編輯:

sudo nano /etc/fstab

在文件末尾加入下面這行內(nèi)容,告訴操作系統(tǒng)自動(dòng)使用剛才創(chuàng)建的swap文件:

/swapfile   swap    swap    sw  0   0

添加完畢后,保存退出。以后服務(wù)器每次重啟都會(huì)檢查該文件并自動(dòng)啟用swap。更改Swap配置(可選)

有幾個(gè)涉及swap的選項(xiàng)可能會(huì)影響到系統(tǒng)的性能表現(xiàn)。大部分情況下這些選項(xiàng)是可選的,具體要修改成什么樣則取決于你的應(yīng)用需求以及個(gè)人偏好。

Swappiness

swappiness參數(shù)決定了系統(tǒng)將數(shù)據(jù)從內(nèi)存交換到swap空間的頻率,數(shù)值設(shè)置在0到100之間,代表系統(tǒng)將數(shù)據(jù)從內(nèi)存交換到swap空間的力度。

該數(shù)值越接近于0,系統(tǒng)越傾向于不進(jìn)行swap,僅在必要的時(shí)候進(jìn)行swap操作。由于swap要比內(nèi)存慢很多,因此減少對(duì)swap的依賴意味著更高的系統(tǒng)性能。

該數(shù)值越接近于100,系統(tǒng)越傾向于多進(jìn)行swap。有些應(yīng)用的內(nèi)存使用習(xí)慣更適合于這種情況,這也于服務(wù)器的用途有關(guān)。

輸入如下命令查看當(dāng)前的swappiness數(shù)值:

cat /proc/sys/vm/swappiness 30

CentOS 7默認(rèn)設(shè)置了30的swappiness,這對(duì)于大部分桌面系統(tǒng)和本地服務(wù)器是比較中庸的數(shù)值。對(duì)于系統(tǒng)而言,可能接近于0的值是更加合適的。

使用sysctl命令可以修改swappiness。比如將swappiness設(shè)為10:

sudo sysctl vm.swappiness=10 vm.swappiness = 10

本次修改將一直生效到下次重啟前。如果希望永久修改該數(shù)值,則需要編輯sysctl配置文件:

sudo nano /etc/sysctl.conf

將以下內(nèi)容粘貼到文件末尾:

vm.swappiness = 10

編輯完成后,保存退出,之后服務(wù)器每次重啟的時(shí)候會(huì)將swappiness設(shè)置為該值。緩存壓力(Cache Pressure )

 

另一個(gè)可以考慮更改的配置項(xiàng)是vfs_cache_pressure,該配置項(xiàng)涉及特殊文件系統(tǒng)元文件條目的存儲(chǔ)。對(duì)此類信息的頻繁讀取是非常消耗性能的,所以延長(zhǎng)其在緩存的保存時(shí)間可以提升系統(tǒng)的性能。

通過(guò)proc文件系統(tǒng)查看緩存壓力的當(dāng)前設(shè)定值:

cat /proc/sys/vm/vfs_cache_pressure 100

這個(gè)數(shù)值是比較高的,意味著系統(tǒng)從緩存中移除inode信息的速度比較快。一個(gè)保守一些的數(shù)值是50,使用sysctl命令進(jìn)行設(shè)置:

sudo sysctl vm.vfs_cache_pressure=50 vm.vfs_cache_pressure = 50

這條命令僅在重啟前有效。要讓該設(shè)置永久有效,需要編輯sysctl配置文件:

sudo nano /etc/sysctl.conf

在文件末尾添加如下內(nèi)容:

vm.vfs_cache_pressure = 50

保存退出,服務(wù)器就會(huì)在每次重啟后都自動(dòng)將緩存壓力設(shè)置為50了。總結(jié)

 

至此,我們的系統(tǒng)內(nèi)存就獲得了一些喘氣的空間。有了swap空間可以有效避免一些常見的問題。

如果你仍然會(huì)遇到內(nèi)存不足(OOM,out of memory)的錯(cuò)誤信息,或者你的系統(tǒng)不能運(yùn)行你需要的應(yīng)用,那么最好的方法是優(yōu)化你的應(yīng)用配置或者升級(jí)你的服務(wù)器,不過(guò)配置swap空間也不失為一個(gè)靈活的節(jié)省方案。


當(dāng)前標(biāo)題:CentOS7上怎么添加Swap交換空間
URL地址:http://weahome.cn/article/dchcj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部