Linux swap的创建与配置
在Linux下,swap的作用类似Windows系统下的“虚拟内存”。当物理内存不足时,拿出部分硬盘空间当SWAP分区(虚拟成内存)使用,从而解决内存容量不足的情况。Linux下的swap有两种实现形式,一种是通过某个物理磁盘分区来实现swap,另一种是通过虚拟内存文件来实现swap。
一、物理磁盘分区来实现swap
1、通过分区软件创建一个分区,分区类型fdisk下为82,gdisk下为8200,partep分区标记没有定义swap,其实分区后不更改分区类型也行测试也可以用,但为了在分区工具下方便查看最好还是把分区类型改成swap对应的分区类型,本人理解分区类型就是分区软件下用来描述分区所要承载的文件系统的类型,比如分区类型为83表示为linxu分区,用于格式化成ext3 ext4等linux文件系统,分区创建的方法这里就不写了前面有分区创建的方法。
2、使用mkswap命令把分区格式化为swap分区
-------------------------------------------------------------------
root@debian:~# mkswap /dev/sdb1
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes) #交换分区的容量为1G
no label, UUID=47fe2c83-c4b9-4ee5-ad91-4a9642f66df5
root@debian:~#
-------------------------------------------------------------------
3、使用swapon命令使交换分区/dev/sdb1生效
-------------------------------------------------------------------
root@debian:~# free -h #查看没加前swap容量
total used free shared buff/cache available
Mem: 2.0G 250M 1.4G 8.5M 311M 1.6G
Swap: 2.0G 0B 2.0G #没加前容量为2G
root@debian:~# swapon /dev/sdb1 #使新添加的swap生效
root@debian:~# free -h #查看添加完后的容量
total used free shared buff/cache available
Mem: 2.0G 250M 1.4G 8.5M 311M 1.6G
Swap: 3.0G 0B 3.0G #添加完容量变成了3G
root@debian:~#
-------------------------------------------------------------------
4、Linux swapon命令参数及用法
swapon 是开启swap,相对的便有一个关闭swap的指令,swapoff
swapon [选项] [设备]
-h 显示帮助信息
-V 显示版本信息
-v 显示详细模式
-s 显示swap的使用情况,可以查看所有激活的swap
-a 将/etc/fstab文件中所有设置为swap的设备启用
-p 设定优先权,你可以在0到32767中间选一个数字给他。或是在 /etc/fstab 里面加上 pri=[value] ([value]就是0~32767中间一个数字),然后你就可以很方便的直接使用 swapon -a 来启动他们,而且有优先权设定。
举例:显示swap的使用情况
---------------------------------------------------------------------
root@debian:~# swapon -s
Filename Type Size Used Priority
/dev/sda5 partition 2095100 0 -1 #随系统安装一起创建的swap优先级为1
/dev/sdb1 partition 1048572 0 -2 #后创建的swap优先级为2,类型为分区,大小为1G
root@debian:~#
---------------------------------------------------------------------
5、Linux swapoff命令参数及用法
swapon [选项] [设备]
-a 将/etc/fstab文件中所有设置为swap的设备关闭
举例:
---------------------------------------------------------------------
root@debian:~# swapoff /dev/sdb1 # 关闭swap分区/dev/sdb1
root@debian:~# swapon -s
Filename Type Size Used Priority
/dev/sda5 partition 2095100 0 -1
root@debian:~#
---------------------------------------------------------------------
6、将新添加的交换分区添加到/etc/fstab文件中使之开机启动
根据不同的发行版将下面的内容添加到/etc/fstab中,添加完后最好用swapon -a命令查看添加的是否有问题
UUID=47fe2c83-c4b9-4ee5-ad91-4a9642f66df5 none swap sw 0 0 #Debian9.5默认的格式,UUID为对应的交换分区UUID
UUID=47fe2c83-c4b9-4ee5-ad91-4a9642f66df5 swap swap defaults 0 0 #CentOS7-1810与openSUSE15默认的格式,UUID为对应的交换分区UUID
二、使用文件来实现swap
当系统内没有剩余可用的分区时我们可以用在Linux的某个目录下创建一个空白文件,通过把这个文件格式化成swap从而实现创建swap的过程。
1、通过dd命令在/tmp/目录下新增加一个1G大小的空文件。
---------------------------------------------------------------------
root@debian:~# dd if=/dev/zero of=/tmp/swap bs=1G count=1 #增加一个1G大小的空文件
记录了1+0 的读入
记录了1+0 的写出
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 5.46136 s, 197 MB/s
root@debian:~# chmod 600 /tmp/swap #修改文件权限,只有root读写
root@debian:~# ls -lh /tmp/swap #查看创建的文件大小和权限
-rw------- 1 root root 1.0G 8月 26 14:25 /tmp/swap
root@debian:~#
---------------------------------------------------------------------
2、使用mkswap命令把创建的文件格式化为swap
---------------------------------------------------------------------
root@debian:~# mkswap /tmp/swap
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=a0aa03d4-406d-4ecd-af04-12998e408192
root@debian:~#
---------------------------------------------------------------------
3、使用swapon命令使swap生效
---------------------------------------------------------------------
root@debian:~# swapon /tmp/swap
root@debian:~# swapon -s
Filename Type Size Used Priority
/dev/sda5 partition 2095100 0 -1
/tmp/swap file 1048572 0 -2 #创建成功
root@debian:~#
---------------------------------------------------------------------
4、将新添加的交换分区添加到/etc/fstab文件中使之开机启动
根据不同的发行版将下面的内容添加到/etc/fstab中,添加完后最好用swapon -a命令查看添加的是否有问题
---------------------------------------------------------------------
/tmp/swap none swap sw 0 0 #Debian9.5默认的格式,这里不要用UUID,这是因为系统只会查询块设备,不会查询文件
/tmp/swap swap swap defaults 0 0 #CentOS7-1810与openSUSE15默认的格式
---------------------------------------------------------------------
Linux swap的创建与配置的更多相关文章
- CentOS7下swap分区创建(添加),删除以及相关配置
在添加swap分区之前我们可以了解下当前系统swap是否存在以及使用情况,可用: 1. free –h 或 swapon –s 了解硬盘使用情况(一般/dev/vda1为挂载硬盘): 1. df –h ...
- Linux下多路径multipath配置
一.multipath在redhat 6.2中的基本配置: 1. 通过命令:lsmod |grep dm_multipath 检查是否正常安装成功.如果没有输出说明没有安装那么通过yum功能安装一下 ...
- 怎么设置Linux swap分区?方法教程
如何设置Linux swap分区 看到不少朋友问linux下swap分区的问题,收集到一篇 不错的文章 ,分享下. 什么是Swap?Swap,即交换区,除了安装Linux的时候,有多少人关心过它呢?其 ...
- 如何设置Linux swap分区
看到不少朋友问linux下swap分区的问题,收集到一篇 不错的文章 ,分享下.什么是Swap?Swap,即交换区,除了安装Linux的时候,有多少人关心过它呢?其实,Swap的调整对Linux服务器 ...
- Linux下多路径multipath配置【转】
一.multipath在redhat 6.2中的基本配置: 1. 通过命令:lsmod |grep dm_multipath 检查是否正常安装成功.如果没有输出说明没有安装那么通过yum功能安装一下 ...
- Linux Swap交换分区介绍
Swap分区在系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用.那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中, ...
- linux替换yum源及配置本地源
linux系统安装后自带的bash源由于在国外,安装软件包的时候会非常慢,最好替换一下yum源. 关于yum源的简单介绍 yum的主要功能是更方便地添加,删除和更新rpmba ...
- 【转载】Linux 通过mount -o loop 配置本地.iso镜像为yum源(yum仓库)
原文地址:https://www.jb51.net/os/RedHat/2682_all.html 如果拷贝到本地,可以使用mount mount fileName mountPoint -o loo ...
- 【转】linux 编译安装nginx,配置自启动脚本
linux 编译安装nginx,配置自启动脚本 本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装ng ...
随机推荐
- oracle sqlplus命令
show和set命令是两条用于维护SQL*Plus系统变量的命令 SQL> show all --查看所有68个系统变量值 SQL> show user --显示当前连接用户 SQL> ...
- 使用Jenkins的Git Parameter插件来从远程仓库拉取指定目录的内容
更换插件安装源 系统管理---插件管理---高级---升级站点,把默认的插件下载地址换成下面这个: https://mirrors.tuna.tsinghua.edu.cn/jenkins/updat ...
- springboot_1
1. 创建一个spring boot项目可以使用哪些工具 1.1 使用start.spring.io 这是一个网站,可以在这个网站选择你需要的组件,然后会自动生成一个项目文件,你可以将它下载到本地,然 ...
- vue的data里面的值是数组时,在更改其某一项的时候,怎么触发视图的重新渲染?
1. 设置对象或数组的值:Vue.set(target,key,value) :2.删除对象或数组中元素: Vue.delete ( target,key) ;3. 数组对象直接修改属性,可以触发视图 ...
- 这个一个对ES6多个异步处理的并发继发思想的总结和理解
1.首先我们需要理解的是js中for循环.forEach循环.map循环的一些差异性,直接说了为后面说到的提供一些依据 1.1 for循环最基本,也是最容易理解的. 1.2 forEach和map用法 ...
- UI5-技术篇-jQuery.ajax执行过程中Token验证及JSON格式传值问题
最近两天在测试OData服务类方法CREATE_DEEP_ENTITY及GET_EXPANDED_ENTITYSET,刚开始采用ODataModel方式调用没有任何问题,但是ODataModel采用的 ...
- Django之form表单详解
构建一个表单 假设你想在你的网站上创建一个简单的表单,以获得用户的名字.你需要类似这样的模板: <form action="/your-name/" method=" ...
- python之迭代器、生成器及列表推导式
一.迭代器 迭代器就是迭代的工具,迭代是一个重复的过程,每次重复都是一次迭代并且每次迭代的结果都是下次迭代的初始值. lst=[1,2,3,4,5] count=0 while count<le ...
- jmeter 5.1.1版本 进行抓包的时候弹出输入密码
先描述一下如何配置Jmeter 先新建一个Thread Group,比如我命令为抓包 新建一个HTTP(S) Test Script Recorder,进行如下的配置, 配置端口,我这边设置为8899 ...
- 备份一下我的88bugs的application文档
# 服务端口 server.port=8083 #spring.mvc.favicon.enabled=false server.servlet.context-path=/bug/ dateform ...