问:我是一个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公社推出

本文永久更新链接地址http://www.linuxidc.com/Linux/2014-12/110155.htm

Ubuntu swap的更多相关文章

  1. wubi安装ubuntu后,增加swap大小,优化swap的使用参数-----------让ubuntu健步如飞,为编译android源码准备

    wubi安装ubuntu后,终端输入free -m可以查到如下信息: total used free shared buffers cached Mem: 1944 1801 143 0 557 70 ...

  2. colinux

    Colinux是什么?2004年,由一名21岁的以色列学生与几名日本的自由程序员合作开发出了一个名为“Cooperative Linux”即“CoLinux”的Linux程序,该程 序可使Linux的 ...

  3. [转载]How To Add Swap on Ubuntu 12.04

    How To Add Swap on Ubuntu 12.04 Aug 17, 2012  Linux Basics Ubuntu   About Linux Swapping Linux RAM i ...

  4. 安装Ubuntu时,遇到自定义交换空间swap大小设置问题

    【整理】Ubuntu自定义分区设置 在安装Ubuntu时,如果使用的是一个新硬盘那么安装向导会建议你使用整个硬盘,如果硬盘上已经有数据了,向导会建议使用剩余的空间。不管怎样,是由向导自动划分的分区。 ...

  5. How To Add Swap on Ubuntu 14.04

    https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04 How To Add Swap on ...

  6. 如何增加Ubuntu交换空间swap

    如何增加Ubuntu交换空间swap 1  使用命令查看系统内swap分区大小 green@green:~$ free -m total used free shared buff/cache ava ...

  7. swap分区不足ubuntu休眠

    安装uswsusp Ubuntu gnu/linux只需 代码: sudo aptitude install uswsusp Arch gnu/linux系统 代码: sudo pacman -S u ...

  8. 增加ubuntu的内存——设置Swap增加内存

    1.查看一下当前Swap分区的状态: $cat /proc/meminfo SwapTotal: 0 kB SwapFree: 0 kB 如果上面二项目都为0,说明没有Swap分区:如果不为0,则说明 ...

  9. Ubuntu的SWAP设置

    1. 在Ubuntu中配置使用新创建的Swap分区 Command list: 查找Swap分区的UUID sudo blkid 在/ect/fstab中加入新的Swap分区 sudo gedit / ...

随机推荐

  1. [poj1160][IOI2000]Post Office【动态规划】

    传送门 https://vjudge.net/problem/POJ-1160#author=SCU2018 题目描述 在一条水平的公路上建有n个小屋,两个小屋间的距离是它们的横坐标之差的绝对值.保证 ...

  2. dns配置文件

    /etc/resolv.conf 该文件是DNS域名解析的配置文件,它的格式很简单,每行以一个关键字开头,后接配置参数. resolv.conf的关键字主要有四个,分别是: nameserver   ...

  3. centos7/rhel7安装较高版本ruby2.2/2.3/2.4+

    环境需求: 在Centos7.3中,通过yum安装ruby的版本是2.0.0,但是如果有些应用需要高版本的ruby环境,比如2.2,2.3,2.4...那就有点麻烦了,譬如:我准备使用redis官方给 ...

  4. hdu 1686 Oulipo (kmp)

    Problem Description The French author Georges Perec (1936–1982) once wrote a book, La disparition, w ...

  5. hdu 1978 How many ways(记忆化搜索)

    这是一个简单的生存游戏,你控制一个机器人从一个棋盘的起始点(1,1)走到棋盘的终点(n,m).游戏的规则描述如下:1.机器人一开始在棋盘的起始点并有起始点所标有的能量.2.机器人只能向右或者向下走,并 ...

  6. maven将项目及第三方jar打成一个jar包

    pom.xml中添加如下配置 把依赖包和自己项目的文件打包如同一个jar包(这种方式对spring的项目不支持) <build> <plugins> <plugin> ...

  7. 如何在 Linux/Unix/Windows 中发现隐藏的进程和端口

    unhide 是一个小巧的网络取证工具,能够发现那些借助 rootkit.LKM 及其它技术隐藏的进程和 TCP/UDP 端口.这个工具在 Linux.UNIX 类.MS-Windows 等操作系统下 ...

  8. 洛谷P3620 数据备份

    好吧,我一开始说这是个神级数据结构毒瘤题,后来改成神题了. 主要是贪心做法的巧妙转化: 首先发现选择的一对必须相邻,于是我们搞出差分. 然后考虑选取最小值时,最小值两侧的数要么同时选,要么都不选. 然 ...

  9. 后缀数组的第X种求法

    后缀自动机构造后缀数组. 因为有个SB题洛谷5115,它逼迫我学习后缀数组...(边分树合并是啥?). 一些定义:sa[i]表示字典序排第i的后缀是从哪里开始的.Rank[i]表示后缀i的排名.hei ...

  10. 测试工程师的12最 作为测试猿的你是否都遇到过o_o ....

    在51testing偶然看到一篇文章,觉得很不错,就转过来了.看完笑笑之后,如果能带来点思考就更好了. 1.测试工程师最开心的事:发现了一个很严重的bug,特别是那种隐藏很深,逻辑性的错误.偶第一次发 ...