linux支持虚拟内存,用作虚拟内存的硬盘部分被称为交互空间(swap space),虚拟内存是指使用磁盘当作内存的扩展,这样可用内存的大小就相应的增大了。内核会将暂时不用的内存块的内容写到硬盘上,从而空闲的内存就可用于其他目的。当需要用到原始内容时,再从硬盘重新读入内存。但读写硬盘的速度比直接使用内存要慢得多,数千倍。

linux可以使用文件系统中的一个常规文件或一个独立的分区作为交换空间。交换分区要快一些,但交换文件的大小很容易改变。

如果系统上的交换空间不够了,只要硬盘上还有空余的空间,就可以把这些剩余的空间利用起来,使用mkswap命令创建的交换区。

一、mkswap: 在设置或文件上创建linux交换区(swap)

语法:
mkswap  [参数]  设备名 [块数]

设备名,这里的设备通常是一个磁盘分区,如:/dev/sda6,或者是一个文件/swapfile
-c  建立交换空间前,先检查是否有坏道,如果有坏道,将坏道总数目显示出来。
-f  强行运行mkswap命令
-p  <页大小>  指定所使用的页大小
-L  <标签>    指定一个标签,此后swapon可以使用这个标签
-v0  建立旧式交换区
-v1  建立新式交换区

例:
(1)设置分区/dev/sdb1为新交换分区
mkswap -v1 /dev/sdb1
可以省略-v1
(2)设置分区/dev/sdb1为新交换分区,并检查是否有坏道
mkswap - c /dev/sdb1
(3)创建swapfile虚拟文件
首先创建swapfile文件
dd if=/dev/zero  of=swapfile  count=2000  bs=1024k
if 表示输入文件 /dev/zero表示一个空文件,即以null字符写入文件中。
of 表示输出文件
bs 每个块多少个字节,可以带单位
count 表示多少个块

这样就创建2G的一个空文件
mkswap -f swapfile

二、swapon:开启用作系统交换区的设备或文件

参数:
-a  将/etc/fstab文件中所有设置为swap的设备开启,标记noauto参数的设备除外。
-e  与-a配合使用,忽略不存在的设备
-p  指定优先级,0-32767,数值越大,优先级就越高。
-s  显示交互区使用情况。
-v  显示详细信息

例:
(1)显示交换分区的信息
swapon -s
(2)开启所有交换分区
swapon -av
(3)开启交换分区/dev/sdb1
swapon  /dev/sdb1
(4)开启交换分区/dev/sdb1 并指定优先级为10

注意:要自动开启交换区,可以把新的分区加入到/etc/fstab中
设备  swap  swap  default 0 0 , 可以参照fstab中原有的。

三、关闭交换区
swapoff

可以使用swapoff关闭一个交换空间。

swapoff  设备或文件

参数:
-a  将/etc/fstab文件中所有设置为swap的设备关闭
-v  显示详细信息

mkswap,swapon, swapoff命令:创建交换分区的更多相关文章

  1. 【Linux命令】磁盘分区,格式化,挂载命令,创建交换分区(fdisk,mkfs,mount,umount)

    友情链接 磁盘分区,格式化,挂载,创建交换分区:https://www.cnblogs.com/HeiDi-BoKe/p/11936998.html RAID工作级别:https://www.cnbl ...

  2. linux创建交换分区

    一.SWAP 概述 当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用.那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到S ...

  3. Linux环境创建交换分区

    最近在准备在移动端跑一下深度学习训练好的模型,在RK3399的板子上安装scipy时报错.网上查了一下,由于内存不足导致,做个交换分区就搞定了.那么如何做交换分区呢.话不多说,直接开撸. ------ ...

  4. Linux 创建交换分区扩展虚拟内存

    当计算机的物理内存不足时,可以利用磁盘空间扩张为物理内存,实现的方式则是创建交换分区. 命令:mkswap + 分区设备 (格式化交换分区)     mkswapon +分区设备 (启用交换分区)   ...

  5. Linux - 创建交换分区 swap

    购买的 1GB 内存的 Linux 小机器,在编译安装 PHP 的时候内存捉急,只好开启 swap 交换分区来增大内存. [root@VM_139_38_centos php-7.2.12]# cat ...

  6. mkswap/swapon/swapoff/free

    free mkswap 创建Linux交换分区 swapon 启用交换分区 swapoff 关闭交换分区 注意: 在创建完交换区之后.是需要激活才能使用的 swapon/swapoff

  7. centos6.5下磁盘创建交换分区

    1.创建磁盘交换分区 2.创建文件交换分区

  8. Linux系统 fdisk命令 创建新分区

    --fdisk命令fdisk -l /dev/sda           # 查看分区 fdisk    /dev/sda           # 创建分区  n                    ...

  9. Linux的top命令及交换分区

    TOP命令关键指标 %MEM,在内存中的占用率 %CPU,使用率,如果两核,最大可到200% TIME+, 占用cpu的总时间/s SHR,分享内存 RES, 常驻内存,进程当前使用的内存大小,不包括 ...

随机推荐

  1. struts2 <allowed-methods > 标签配置

    1.在struts2   2.5版本中添加了对方法访问的权限,如果没有被添加到<allow-method> 方法的标签,将会报一下错误 5:05:18.078 [http-apr-8020 ...

  2. java设计模式之代理模式 ,以及和java 回调机制的区别

    java 代理模式就是: 将自己要做的事交给别人去做(这个别人就是代理者,自己就是被代理者),为什么自己能做的要交给别人去做了?假如一个小学生小明,现在要写作业,但是又想玩游戏,他更想玩游戏,并且不想 ...

  3. select在数据库中有两种含义

    select在数据库中有两种意思 (1)是赋值的意思(2)是输出,打印的意思我想你问的大概是赋值吧print和 select在数据库中都有打印输出的意思 用法是:select @aa=select* ...

  4. lua 之 三木运算符

    在c语言中我三目运算符这么写: a?b:c 例如: max = a>b?a:b; 在lua中我们这么写 max = a>b and a or b 运行如下:

  5. Oracle使用plsql连不上本地数据库,cmd中使用sqlplus连的上的可能解决方案

    1.无监听程序 原因: 最有可能是oracle监听的服务没有启动起来. 2.ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 原因: 1.服务没有配置127.0.0.1或监听程序没 ...

  6. Mysql使用遇到的问题(一)

    1.在使用MySQL的时候,已经新建好了表,插入数据的时候报这个错误: Incorrect string value: '\xE5\xAF\x92\xE6\xB1\x9F...' for column ...

  7. Android首页轮播图直接拿来用

    import java.util.ArrayList; import java.util.List; import java.util.concurrent.Executors; import jav ...

  8. C++如何显式调用常成员函数

    C++的常成员函数与同名成员函数重载时,该如何显式调用常成员函数? 具体的一个小例子: #include <iostream> using namespace std; class C1 ...

  9. [Python3网络爬虫开发实战] 1.6.1-Flask的安装

    Flask是一个轻量级的Web服务程序,它简单.易用.灵活,这里主要用来做一些API服务. 1. 相关链接 GitHub:https://github.com/pallets/flask 官方文档:h ...

  10. 如果由你来设计 12306.cn,你会怎么设计?

    作者:huangkun链接:https://www.zhihu.com/question/20017917/answer/15272038来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业 ...