首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ubuntu Linux创建和增加Swap分区教程

Ubuntu Linux创建和增加Swap分区教程

原创
作者头像
知忆
修改2021-06-23 10:10:03
6.3K0
修改2021-06-23 10:10:03
举报
文章被收录于专栏:linux百科小宇宙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分区,即调整虚拟分区

你可以调整下面的两个选项

虚拟运存控制(swappiness)

最小释放字节数(min_free_kbytes)

虚拟文件缓存压力(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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档