Linux交換分區的創建和調整

概述

本文對swap進行簡要介紹,以及系統安裝后(在運行中)如何建立或調整swap分區。

文中演示環境為:

Linux交換分區的創建和調整


什么是swap space?

交換分區,即swap space。它將某段磁盤空間獨立劃分出來,當物理內存不夠的情況下,系統先把物理內存中暫時不用的數據,暫存到交換空間,騰出內存空間來,以保證程序的運行;當swap中存儲的頁面被訪問到時,系統會將其重新載入到物理內存中去運行。在Windows、Unix、Linux系統中都有交換分區的概念。


怎么分配swap space?

作為系統物理內存的補充,交換分區的操作即是磁盤I/O的操作,我們應當盡可能地利用更高I/O的硬盤劃分交互分區。優先考慮的是固態硬盤,而對于機械硬盤來說,前面的磁盤要比后面的快,因此優先使用靠前的扇區劃分swap。

另外,Swap分區的數量對性能也有很大的影響。如果有多個Swap交換區,Swap空間的分配會以輪流的方式操作于所有的Swap,這樣會大大均衡IO的負載,加快Swap交換的速度。如果只有一個交換區,所有的交換操作會使交換區變得很忙,使系統大多數時間處于等待狀態,效率很低。


分配多少swap space?

分配太多的Swap空間會浪費磁盤空間,而Swap空間太少,則系統會發生錯誤。如果系統的物理內存用光了,系統就會跑得很慢,但仍能運行;如果Swap空間用光了,那么系統就會發生錯誤。例如,Web服務器能根據不同的請求數量衍
生出多個服務進程(或線程),如果Swap空間用完,則服務進程無法啟動,通常會出現“application is out of
memory”的錯誤,嚴重時會造成服務進程的死鎖。因此Swap空間的分配是很重要的。

通過翻查《 Red Hat Enterprise Linux 7 Installation Guide 》,看到紅帽官方推薦的分配方案:

Linux交換分區的創建和調整

生產環境中不應開啟休眠(hibernation),所以不需要考慮第三列,即:

  •             內存小于 2GB時,推薦swap大小為內存2倍;

  •             內存 2 ~ 8GB時,推薦swap大小等于內存大??;

  •             內存 8 ~64GB時,推薦swap大小為內存的0.5;

  •             內存大于64GB時,則視服務器的工作負載配置。

如果您的系統資源允許的話,增加交換空間可能會導致更好的性能。


如何查看swap space?

Linux中,系統提供了三種方法可以查看系統的swap的分區情況:

      • cat /proc/swaps

      • swapon -s

      • free

Linux交換分區的創建和調整


如何劃分和增加swap space?

我們都知道在安裝Linux系統時在分區時可以分配swap分區,而系統安裝后(在運行中)如何建立或調整swap分區呢?

在裝完Linux系統之后,建立Swap分區基本設置包括:

  •         創建交換分區或者文件

  •         使用mkswap寫入特殊簽名

  •         在/etc/fstab文件中添加適當的條目

  •         使用swapon -a 激活交換空間

swap分區的操作必須用root權限,操作過程應該小心謹慎。

為了避免不必要的問題,我們先停止所有的swap分區

[root@IP70-CentOS7 ~]# >>swapoff -a         #停止所有的swap分區

Linux交換分區的創建和調整

1. 創建交換分區或者文件

建立swap有兩種方法:a.新建磁盤分區;b.用文件作為swap分區。

a.新建磁盤分區:

用fdisk命令(例:# fdisk /dev/sdb),新建大小2GB分區,在fdisk中用“t”命令調整分區類型為82(Linux swap類型),最后w保存fdisk操作。

1472531988614299.png

b.用文件作為swap分區:

用dd命令創建分區文件,文件大小可以通過指定選項進行設置。(bs*count=文件大?。?/span>

[root@IP70-CentOS7 ~]# >> dd if=/dev/zero of=/root/swap bs=1M count=2048

Linux交換分區的創建和調整

2. 使用mkswap寫入特殊簽名(格式化swap分區)

mkswap是專門用于設置Linux swap分區的命令,命令格式是mkswap [options] device [size]

Linux交換分區的創建和調整

3. 在/etc/fstab文件中添加適當的條目

Linux交換分區的創建和調整

4. 使用swapon -a 激活交換空間

Linux交換分區的創建和調整

多個swap分區是有優先級(Priority)的,數值大,則優先使用。我們可以通過swapon的-p選項調整swap的優先級,優化swap性能:分布存放,高性能磁盤存放。

需要注意的是:修改后,需要swapoff禁用,再swapon進行重新掛載。



結束語

雖然swap分區能夠作為"虛擬"的內存,但它的速度比物理內存可是慢多了,因此如果需要更快的速度的話,并不能寄厚望于swap,最好的辦法仍然是加大物理內存。swap分區只是臨時的解決辦法.

原創文章,作者:昭其,如若轉載,請注明出處:http://www.www58058.com/42130

(3)
昭其昭其
上一篇 2016-08-30 13:55
下一篇 2016-08-30 13:55

相關推薦

  • Nginx反向代理https,提供PhpMyAdmin

    準備工作:主機1、雙網卡:外–172.16.252.187  內–192.168.42.140 主機2:192.168.42. 145 主機3:172.16.251.112 主機4:192.168.42.141 在主機2上:     安裝httpd  yum  install…

    2017-07-01
  • 馬哥教育網絡班22期+第12周作業

    week11 1、請描述一次完整的http請求處理過程; 2、httpd所支持的處理模型有哪些,他們的分別使用于哪些環境。 3、源碼編譯安裝LAMP環境(基于wordpress程序),并寫出詳細的安裝、配置、測試過程。 4、建立httpd服務器(基于編譯的方式進行),要求:      提供兩個基于名稱的虛擬主…

    Linux干貨 2016-10-31
  • 第7天:磁盤文件管理

    http://note.youdao.com/yws/public/redirect/share?id=57ab13d4749920de1fbb0d4953fcd21b&type=false

    Linux干貨 2016-08-18
  • N29第一周作業:初識Linux系統

    1、描述計算機的組成及其功能。
    2、按系列羅列Linux的發行版,并描述不同發行版之間的聯系與區別。
    3、描述Linux的哲學思想,并按照自己的理解對其進行解釋性描述。
    4、說明Linux系統上命令的使用格式;詳細介紹ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相應的示例來闡述。
    5、如何在Linux系統上獲取命令的幫助信息,請詳細列出,并描述man文檔的章節是如何劃分的。
    6、請羅列Linux發行版的基礎目錄名稱命名法則及功用規定

    2018-03-04
  • week8

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 網橋:          連接不同子網,使其透明通信,它們工作在鏈路層。它們處理的是鏈路層數據,一般來說就是以太     網幀格式的 &nb…

    Linux干貨 2016-12-19
  • Linux網絡配置

    配置網絡 實現網絡組測試網絡網絡工具     基本網絡配置將Linux主機接入到網絡,需要配置網絡相關設置。一般包括如下內容:主機名IP/netmask路由:默認網關DNS服務器主DNS服務器次DNS服務器第三DNS服務器 網絡配置方式靜態指定:ifcfg: ifconfig, route, netstatip: object {link…

    Linux干貨 2017-08-19
欧美性久久久久