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

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

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

服務器之家 - 服務器系統 - Centos - CentOS7上如何添加Swap交換空間

CentOS7上如何添加Swap交換空間

2019-07-08 13:44服務器之家 Centos

一些朋友反饋說不知道CentOS7上如何添加Swap交換空間;下面小編就為大家帶來CentOS 7上添加Swap交換空間的方法;有需要的朋友可以去看看吧

前言

如何讓服務器響應更快?如何避免應用出現內存不足的錯誤?最簡單的方法就是增加交換空間。Swap是存儲盤上的一塊自留地,操作系統可以在這里暫存一些內存里放不下的東西。

這從某種程度上相當于增加了服務器的可用內存。雖然從swap讀寫比內存慢,但總比沒有好,算是內存不夠時的安全網。

如果沒有swap,則服務器一旦內存不足,就會開始終止應用以釋放內存,甚至會崩潰,這會讓你丟失一些還沒來得及保存的數據,或者造成當機。有些應用明確要求系統配置swap以確保數據訪問的可靠性。

本文介紹如何在CentOS 7服務器上創建并啟用swap文件。

注:swap通常在傳統機械硬盤上表現更好,在SSD上使用swap可能會造成問題,尤其是硬件老化之后。所以,對于DigitalOcean以及其他使用基于SSD的云主機服務的用戶,我們不推薦啟用swap。這甚至會影響到跟你的虛擬機共用宿主機的其他用戶。

對于DigitalOcean用戶,提升性能的最佳方法就是更新Droplet。通常來說,升級后的主機表現都會有所提升,并且更不容易受到硬件問題的影響。

準備工作

首先,你需要一臺CentOS 7服務器,配置過具備sudo權限的非root用戶(配置過程可參考這個教程的第一到第四步驟)。

準備就緒后,以該用戶名SSH到你的CentOS服務器上,準備安裝swap文件。

檢查系統的Swap信息

首先我們需要檢查系統的存儲,看看是否已經配置過swap。一個系統可以設置多個swap文件或分區,不過一般來說一個就夠了。

使用swapon命令可以檢查系統是否已經配置過swap,這是一個通用的swap工具。使用-s標簽可列出當前存儲設備上的swap使用情況:

swapon -s

如果該命令沒有返回出結果,則代表該系統尚未配置過swap。

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

free -m


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

這里可以看到我們這個系統的total swap空間為0,即沒有配置過swap。這與我們在swapon里看到的結果相符合。

檢查可用的存儲空間

通常,我們建立一個單獨的分區作為swap。然而有時候由于硬件或軟件的限制,新建分區的方式無法實現,這種情況下就可以建立一個swap文件來實現同樣的功能。

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

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標記是為了告訴dh將信息輸出為對人類友好的格式,比如以MB或GB為單位輸出空間使用和空余情況,而不是直接輸出內存塊的個數。

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

合適的swap空間是多大?關于這個問題有很多種選擇,這取決于你的應用需求和你個人的偏好。一般來說,內存容量的兩倍就是個不錯的起點。

我的系統內存有4GB,如果設置8GB的swap會占據太多空間,所以我決定只設置4GB就好。

創建Swap文件

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

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

sudo fallocate -l 4G /swapfile 

輸入密碼后,該swap文件將立即創建完畢。我們可以用ls命令檢查文件大?。?/p>

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

至此,我們的swap文件就創建完畢了。

啟用Swap文件

現在我們已經有了swap文件,但系統還不知道應該使用該文件作為swap,這就需要我們告知系統將該文件格式化為swap并啟用起來。

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

sudo chmod 600 /swapfile

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

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

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

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

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

sudo swapon /swapfile 

我們可以輸入如下命令來確認一下設置是否已經生效:

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

可以看到返回的結果中已經有我們剛才設置的swap。再使用free工具確認一下:

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

至此,我們的swap已經設置完畢,操作系統會在需要的時候使用它。

使Swap文件永久生效

至此我們已經在系統中啟用了swap文件,然而一旦系統重啟后,服務器還不能自動啟用該文件。要讓系統在重啟后自動生效swap,我們可以通過修改fstab文件來實現(這是一個管理文件系統和分區的表)。

用sudo權限打開該文件編輯:

sudo nano /etc/fstab

在文件末尾加入下面這行內容,告訴操作系統自動使用剛才創建的swap文件:

/swapfile   swap    swap    sw  0   0

添加完畢后,保存退出。以后服務器每次重啟都會檢查該文件并自動啟用swap。

更改Swap配置(可選)

有幾個涉及swap的選項可能會影響到系統的性能表現。大部分情況下這些選項是可選的,具體要修改成什么樣則取決于你的應用需求以及個人偏好。

Swappiness

swappiness參數決定了系統將數據從內存交換到swap空間的頻率,數值設置在0到100之間,代表系統將數據從內存交換到swap空間的力度。

該數值越接近于0,系統越傾向于不進行swap,僅在必要的時候進行swap操作。由于swap要比內存慢很多,因此減少對swap的依賴意味著更高的系統性能。

該數值越接近于100,系統越傾向于多進行swap。有些應用的內存使用習慣更適合于這種情況,這也于服務器的用途有關。

輸入如下命令查看當前的swappiness數值:

cat /proc/sys/vm/swappiness 30

CentOS 7默認設置了30的swappiness,這對于大部分桌面系統和本地服務器是比較中庸的數值。對于VPS系統而言,可能接近于0的值是更加合適的。

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

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

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

sudo nano /etc/sysctl.conf

將以下內容粘貼到文件末尾:

vm.swappiness = 10 

編輯完成后,保存退出,之后服務器每次重啟的時候會將swappiness設置為該值。

緩存壓力(Cache Pressure )

另一個可以考慮更改的配置項是vfs_cache_pressure,該配置項涉及特殊文件系統元文件條目的存儲。對此類信息的頻繁讀取是非常消耗性能的,所以延長其在緩存的保存時間可以提升系統的性能。

通過proc文件系統查看緩存壓力的當前設定值:

cat /proc/sys/vm/vfs_cache_pressure 100 

這個數值是比較高的,意味著系統從緩存中移除inode信息的速度比較快。一個保守一些的數值是50,使用sysctl命令進行設置:

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

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

sudo nano /etc/sysctl.conf 

在文件末尾添加如下內容:

vm.vfs_cache_pressure = 50

保存退出,服務器就會在每次重啟后都自動將緩存壓力設置為50了。

總結

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

如果你仍然會遇到內存不足(OOM,out of memory)的錯誤信息,或者你的系統不能運行你需要的應用,那么最好的方法是優化你的應用配置或者升級你的服務器,不過配置swap空間也不失為一個靈活的節省方案。

延伸 · 閱讀

精彩推薦
  • CentosCentOS6.5下Redis安裝與配置詳細步驟

    CentOS6.5下Redis安裝與配置詳細步驟

    本篇文章主要介紹了CentOS6.5下Redis安裝與配置詳細步驟,詳細介紹redis單機單實例安裝與配置,服務及開機自啟動。有興趣的可以了解一下。...

    飛流11452021-12-24
  • CentosCentOS下Uptime命令詳解

    CentOS下Uptime命令詳解

    在Linux下,我們可以使用uptime命令,而且此命令不必使用root權限。uptime命令在系統中已經默認安裝了。今天小編為大家帶來的是CentOS下Uptime命令詳解;希望...

    CentOS之家11482019-06-19
  • Centoscentos不小心刪除/root目錄該如何解決?

    centos不小心刪除/root目錄該如何解決?

    一些朋友最近在問小編centos不小心刪除/root目錄該如何解決?今天小編就為大家分享centos不小心刪除/root目錄解決辦法;希望對大家會有幫助,有需要的朋友...

    腳本之家8022019-05-29
  • CentosCentOS 6.6實現永久修改DNS地址的方法

    CentOS 6.6實現永久修改DNS地址的方法

    這篇文章主要介紹了CentOS 6.6實現永久修改DNS地址的方法,涉及針對CentOS配置文件的相關設置技巧,具有一定參考借鑒價值,需要的朋友可以參考下 ...

    Linux社區4472020-08-21
  • CentosCentos 7開啟網卡自動獲取IP的詳細方法

    Centos 7開啟網卡自動獲取IP的詳細方法

    本篇文章主要介紹了Centos 7開啟網卡自動獲取IP的詳細方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...

    凌鋒8972021-12-29
  • Centoscentos 安裝與操作方法

    centos 安裝與操作方法

    這篇文章主要介紹了centos 安裝與操作方法,需要的朋友可以參考下...

    centos之家5272019-07-11
  • CentosCentos7運用/dev/shm進行網站優化

    Centos7運用/dev/shm進行網站優化

    這篇文章主要介紹了LINUX中Centos7運用/dev/shm進行網站優化相關知識點,對此有興趣的朋友參考學習下。...

    彬菌9912022-03-02
  • CentosCentOS7設置日期和時間方法以及基本概念介紹

    CentOS7設置日期和時間方法以及基本概念介紹

    這篇文章主要介紹了CentOS7設置日期和時間方法以及基本概念介紹,本文講解使用CentOS7中的新命令timedatectl設置日期時間方法,需要的朋友可以參考下 ...

    CentOS之家6522019-09-19
主站蜘蛛池模板: 免费观看韩剧网站在线观看 | 九九精品视频在线免费观看 | 三上悠亚国产精品一区 | 亚洲成在人线久久综合 | 国产欧美日韩精品高清二区综合区 | 美女被无套进入 | 91人成网站色www | avav男人天堂 | 男男浴室吸乳play | 国产一区二区免费视频 | 奇米影视久久777中文字幕 | 日韩毛片基地一区二区三区 | xxx95日本老师xxx学生 | 日本人做受全过程视频 | 欧美综合一区二区三区 | 草莓视频旧版 | 国产精品久久久久久网站 | 欧美一区二区三区精品影视 | 2015小明台湾永久区域免费 | 日韩精选| 91啦中文在线观看 | 精品视频网站 | 欧美yw193.c㎝在线观看 | 成人在线观看视频免费 | 大叔在线观看 | 西西人体大胆啪啪私拍色约约 | 日本ww视频 | 91四虎国自产在线播放线 | www红色一片在线观看版 | 国产日本韩国不卡在线视频 | 91精品国产高清久久久久久91 | 日本嫩小xxxxhd | 久久re热在线视频精69 | 日本高清视频在线免费观看 | 亚洲伦理视频 | 秋霞宅宅236理论片 秋霞一级黄色片 | 男人资源站 | 午夜影院免费体验 | juy_661佐佐木明希在线播放 | 国产精品欧美一区二区 | 1024人成网站色 |