一、什么是swap space(交换分区)?

在Linux系统中,当物理内存满了才使用Swap空间。当系统需要更多的内存资源,并且物理内存已经满了,此时,内存中那些不活跃的pages被移动(move)到swap空间。

虽然,交换分区能使设备使用更少的物理内存,但这并不表示可以替换物理内存。交换分区处于硬件设备上,与物理内存相比,交换分区访问速度更慢。

交换分区可以是专门的swap 硬盘分区,也可以是一个文件或者由二者混合组成,强烈推荐使用指定swap硬盘分区来划分swap sapce.

二、swapping和paging有何不同?

Swapping (交换)是Unix的机制之一,用于适应内存大小的限制,通过把整个过程移到磁盘以回收内存。

Paging是Unix中来管理内存限制的另一种机制。跟Swapping不同之处在于,swaping是把整个过程移进移出内存,而Paging仅仅把个别的pages进程移动到磁盘。Paging和swaping并不是一个严重的问题,因为整个程序并不需要一直驻留在内存中运行。少量的Paging产生并不会多系统性能造成明显的影响,然而,系统性能会随着频繁的发出Paging而下降。

交换分区(swap space)是用于在磁盘上保留那些被swapping或者paging出去的内存页。容量不足的交换分区,可能会引起系统挂起、响应时间更长、新进程做spawsing操作失败等问题。

三、如何查看是否启用了swap?

[root@trade1 ~]# swapon  -s
Filename Type  Size Used  Priority
/dev/sda3                               partition  16777216 4530584
-1

swap的几点理解的更多相关文章

  1. 我就是认真:Linux SWAP 深度解读(必须收藏)

    我就是认真:Linux SWAP 深度解读(必须收藏) http://mp.weixin.qq.com/s?__biz=MzA4Nzg5Nzc5OA==&mid=2651660097& ...

  2. Linux SWAP 深度解读

    概述 本文讨论的swap基于Linux4.4内核代码.Linux内存管理是一套非常复杂的系统,而swap只是其中一个很小的处理逻辑. 希望本文能让读者了解Linux对swap的使用大概是什么样子.阅读 ...

  3. 多线程同步工具——CAS原子变量

    这是我参考的一篇文章<基于CAS的乐观锁实现>,讲述的是一种需要CPU支持的执行技术CAS(Compare and Swap). 首先理解什么是原子性操作,意思是不能再拆分的操作,例如改写 ...

  4. FreeCodeCamp 高级算法(个人向)

    freecodecamp 高级算法地址戳这里. freecodecamp的初级和中级算法,基本给个思路就能完成,而高级算法稍微麻烦了一点,所以我会把自己的解答思路写清楚,如果有错误或者更好的解法,欢迎 ...

  5. Linux的内存回收和交换

    Linux的内存回收和交换 版权声明: 本文章内容在非商业使用前提下可无需授权任意转载.发布. 转载.发布请务必注明作者和其微博.微信公众号地址,以便读者询问问题和甄误反馈,共同进步. 微博ID:or ...

  6. EffectiveC++ 第7章 模板与泛型编程

    我根据自己的理解,对原文的精华部分进行了提炼,并在一些难以理解的地方加上了自己的"可能比较准确"的「翻译」. Chapter 7 模版与泛型编程 Templates and Gen ...

  7. Linux养成笔记

    教程来自慕课网@Tony老师的课程 Linux简介 Linux发展史 Andrew S. Tanenbaum为了给学生讲课,买了一个Unix操作系统,参考他开发了Minix,并开放代码作为大学研究,2 ...

  8. 8.JVM内存分配机制超详细解析

    一.对象的加载过程 之前研究过类的加载过程.具体详情可查看文章:https://www.cnblogs.com/ITPower/p/15356099.html 那么,当一个对象被new的时候,是如何加 ...

  9. CAS(Compare and Swap)理解

    什么叫CAS(Compare and Swap)?  硬件同步原语!! 什么蛋疼的名字,一般人很难理解.根据英文全称翻译==比较与交换,这个名字大致还能理解一点,目前先暂且这么理解吧. 有啥用处? 对 ...

随机推荐

  1. python 的文件编码处理

    python的文件编码处理有点粗鲁 1.不管文件原来是编码类型,读入后都转换成Unicode的编码 2.写入文件时,write函数把变量以读入文件的编码方式写入(根据open(path,mode,en ...

  2. 神经网络学习笔记(二):feedforward和feedback

    维基百科解释: Feed-forward, sometimes written feedforward, is a term describing an element or pathway with ...

  3. note4

  4. vue Echarts自适应浏览器窗口大小

    <template> <div class="chinaecharts"> <div id="mapChart" ref=&quo ...

  5. Vue学习笔记-插槽基本使用

    为了让我们的组件更加具有扩展性,可以使用插槽 <div id="app"> <cpn> <span>返回</span> <in ...

  6. PCB学习

    一.PCB设置 在线DRC:自动更正,会提示短路. 对象捕捉>>智能元件snap,可以智能抓取中心点,勾选 智能TrackEnds: 撤销重做:30步 旋转步骤:90.000(可以按空格旋 ...

  7. JS中关于数组的操作

    1.如何创建数组: var arr = []; //效率更高 var arr1 = new Array(); var arr2 = new Array(5); //数组的长度为5,当参数为一个时,将会 ...

  8. operator函数操作符

    函数操作数() 可以实现将对象当函数使用. class Square{ public: double operator()(double x)const{return x*x;} };

  9. 10.27 sort

    排序命令sort选项与参数:-f :忽略大小写的差异,例如 A 与 a 视为编码相同:-b :忽略最前面的空白字符部分:-M :以月份的名字来排序,例如 JAN, DEC 等等的排序方法:-n :使用 ...

  10. tomcat启动前端项目

    前后端分离项目,前端使用vue,部署启动前端项目可以使用NodeJS,Nginx,Tomcat. *)使用Tomcat部署启动: 1.把vue项目build生成的dist包,放到Tomcat的weba ...