歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu Linux創建和增加Swap分區教程

Ubuntu Linux創建和增加Swap分區教程

日期:2017/2/28 14:25:15   编辑:Linux教程

問:我是一個Ubuntu 14.04 LTS版本的新手。我需要一塊額外的swap文件來提高我Ubuntu服務器的性能。我怎樣才能通過SSH連接用相關命令為我的Ubuntu 14.04 LTS 增加一塊swap分區。

Swap文件除了作為一塊磁盤存儲以提高Ubuntu系統的內純使用效率意外,什麼都不是,在本教程,你將會學到如何在Ubuntu系統上去創建以及使用Swap文件。

在Ubuntu服務器版或者桌面版,什麼是Swap文件?

作為系統管理員是很有必要在系統安裝完成後為其添加額外的swap文件,而swap文件也可以讓Ubuntu 去使用硬盤去提高虛擬內存。

Virtual Memory = RAM + Swap space/file

Virtual Memory (1GB) = Actual RAM (512MB) + Swap space/file (512MB)

當Ubuntu服務器運行時內存不足,它交換一段RAM(比如foo空閒程序)到硬盤(交換空間)釋放內存的其他程序。然後當你需要這個程序(比如foo再次),內核將會交換Foo程序,它會通過RAM裡的裡一個程序改變位置。

在Ubuntu添加swap分區的步驟

打開一個Terminal應用程序或者使用SSH客戶端遠程連接服務器,通過sudo命令登陸為root用戶

# sudo –s

創建swap分區命令

在Ubuntu上輸入下面命令創建2GB swap分區

# dd if=/dev/zero of=/swapfile bs=1G count=2

返回結果

records in

2+0 records out

2147483648 bytes (2.1 GB) copied, 20.2256 s, 106 MB/s

驗證在服務器上以創建的分區

# ls -lh /swapfile

返回結果

-rw-r--r-- 1 root root 2.0G Oct 29 14:07 /swapfile

用fallocate命令創建swap分區

除了dd命令,還可以更快的fallocate命令創建swap分區。如下:

# fallocate -l 1G /swapfile-1
# ls -lh /swapfile-1

返回結果

-rw-r--r-- 1 root root 1.0G Oct 29 14:11 /swapfile-1

保護swap分區

處於安全角度,輸入下面的chmod和chown命令保護以及設置正確文件權限

# chown root:root /swapfile
# chmod 0600 /swapfile
# ls -lh /swapfile

Setting up swapspace version 1, size = 2097148 KiB

no label, UUID=10231c61-6e55-4dd3-8324-9e2a892e7137

返回結果

-rw------- 1 root root 2.0G Oct 29 14:07 /swapfile

一個所有人可讀的swap分區是一個重大的本地漏洞。上面的命令確保只有root用戶有可讀可寫權限。

啟動swap分區

# mkswap /swapfile
返回結果

Setting up swapspace version 1, size = 2097148 KiB

no label, UUID=10231c61-6e55-4dd3-8324-9e2a892e7137

最終激活swap分區
# swapon /swapfile

在Ubuntu上驗證並設置

輸入以下命令

# swapon –s

返回結果

Filename Type Size Used Priority

/dev/sda5 partition 3998716 704 -1

/swapfile file 2097148 0 -2

你也可以運行下面命令去驗證創建的交換分區以及它的用法

怎麼在Ubuntu上禁用swap分區?

你可以使用以下命令

# swapoff /swapfile
# swapon –s

更新/etc/fstab 文件

你需要在重啟後確保swap分區在服務器在線後啟用,編輯/etc/fstab文件。輸入:

# vi /etc/fstab

增加一行,如下:

/swapfile none swap sw 0 0

保存並退出

調整swap分區,即調整虛擬分區

你可以調整下面的兩個選項

  1. 虛擬運存控制(swappiness)
  2. 最小釋放字節數(min_free_kbytes)
  3. 虛擬文件緩存壓力(vfs_cache_pressure)

怎樣在Ubuntu上設置swapiness

語法如下:

# sysctl vm.swappiness=VALUE
# sysctl vm.swappiness=20

或者面

# echo VALUE > /proc/sys/vm/swappiness
# echo 30 > /proc/sys/vm/swappiness

在/proc/sys/vm/swapiness的值控制著內核怎樣強制的交換內存空間,更高的值對應著增加強制性強度,相反更低的值對應著減小強制性強度。默認的值是60。為了永久生效在/etc/sysctl.conf文件裡加入一行命令,如下:

echo 'vm.swappiness=30' >> /etc/sysctl.conf

如果針對數據庫,如Oracle或者MySQL,小編建議你設置swapiness的值為10。需要更多的信息請訪問the official Linux kernel virtual memory

如何在Ubuntu 14.04中創建SWAP交換分區文件 http://www.linuxidc.com/Linux/2014-08/105223.htm

如何擴展/刪除SWAP分區 http://www.linuxidc.com/Linux/2014-03/98311.htm

在OpenStack虛擬機實例中創建SWAP分區的一種方法 http://www.linuxidc.com/Linux/2013-07/87380.htm

Linux 中交換空間 (SWAP)應該分多大才好? http://www.linuxidc.com/Linux/2013-05/84252.htm

Linux SWAP 分區建立及釋放內存 http://www.linuxidc.com/Linux/2013-03/81890.htm

Linux SWAP 交換分區配置說明 http://www.linuxidc.com/Linux/2013-03/82008.htm

Ubuntu 12.04的SWAP設置 http://www.linuxidc.com/Linux/2013-03/80208.htm

更多Ubuntu相關信息見Ubuntu 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=2

英文原文:Ubuntu Linux Create and Add Swap File Tutorial

譯者:又耳寧

本文由 Linux公社翻譯組 原創翻譯 Linux公社推出

Copyright © Linux教程網 All Rights Reserved