• Ubuntu swap


    问:我是一个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

  • 相关阅读:
    C++中左移<<的使用
    学会构造素数序列
    有关lower_bound()函数的使用
    Codeforces Round #166 (Div. 2)
    暴力swap导致TLE问题解决办法
    memset的正确使用
    Codeforces Round #297 (Div. 2)
    Codeforces Round #170 (Div. 2)B
    Codeforces Round #176 (Div. 2)
    C/C++ sort函数的用法
  • 原文地址:https://www.cnblogs.com/develon/p/9949534.html
Copyright © 2020-2023  润新知