swap的几点理解

一、什么是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?

[[email protected] ~]# swapon  -s
Filename Type  Size Used  Priority
/dev/sda3                               partition  16777216 4530584
-1

时间: 2024-10-12 00:03:19

swap的几点理解的相关文章

STL(14)变动型算法

Modifying sequence operations: (修改容器操作) copy Copy range of elements (function template ) copy_n Copy elements (function template ) copy_if Copy certain elements of range (function template ) copy_backward Copy range of elements backward (function tem

linux程序设计学习笔记(7-15)

七.数据管理 内存管理 malloc,free,realloc和windows都一样,都是ANSI C. 实际上,应用程序并没有直接访问到物理内存,也可以通过malloc获得比实际内存大得多的内存空间,因为系统会使用交换空间(swap space ,可以理解为windows的虚拟内存),如果申请的内存大于物理内存和交换空间,那么系统将提前终止这个进程.如果在申请的内存里进程指针操作,当移动比如++出了这段分配的内存范围之外,系统会自动报警.如果向一个空指针里复制数据,会发出越界报警. 分配的内存

分布式技术一周技术动态 2016.07.03

分布式系统实践 1. 前Google工程师谈分布式系统的特点以及设计理念 https://mp.weixin.qq.com/s?__biz=MzA5Nzc4OTA1Mw==&mid=2659597608&idx=1&sn=433916db50f0965029c8ce99a36d2014&scene=0&key=77421cf58af4a653413826909a3d57f283978e4108a1537d305ffbfb0c264ce1871e263464ac10a

CAS(Compare and Swap)理解

什么叫CAS(Compare and Swap)?  硬件同步原语!! 什么蛋疼的名字,一般人很难理解.根据英文全称翻译==比较与交换,这个名字大致还能理解一点,目前先暂且这么理解吧. 有啥用处? 对于常用多线程编程的人估计知道,对于一般人估计都不曾听说.在jdk5之前,我们知道,在多线程编程的时候,为了保证多个线程对一个对象同时进行访问时,我们需要加同步锁synchronized,保证对象的在使用时的正确性,但是加锁的机制会导致如下几个问题 1.加多线程竞争下,加锁和释放锁会导致较多的上下文切

[数据库事务与锁]详解八:底理解数据库事务乐观锁的一种实现方式——CAS

注明: 本文转载自http://www.hollischuang.com/archives/1537 在深入理解乐观锁与悲观锁一文中我们介绍过锁.本文在这篇文章的基础上,深入分析一下乐观锁的实现机制,介绍什么是CAS.CAS的应用以及CAS存在的问题等. 线程安全 众所周知,Java是多线程的.但是,Java对多线程的支持其实是一把双刃剑.一旦涉及到多个线程操作共享资源的情况时,处理不好就可能产生线程安全问题.线程安全性可能是非常复杂的,在没有充足的同步的情况下,多个线程中的操作执行顺序是不可预

全面理解 Unity UI 系统

[狗刨学习网] 随着 Unity 4.6 发布,新 UI 系统终于与大家见面了. RectTransform Unity UI 系统使用 RectTransform 实现基本的布局和层次控制.RectTransform 继承于 Transform,所以 Transform 的所有特征 RectTransform 同样拥有.在 Transform 基础上,RectTransform 增加了 轴心(pivot).锚点(实际上是用 anchorMin.anchorMax 两个点定义的矩形区域).和 尺

LeetCode解题思路:627. Swap Salary

Given a table salary, such as the one below, that has m=male and f=female values. Swap all f and m values (i.e., change all f values to m and vice versa) with a single update query and no intermediate temp table. For example: | id | name | sex | sala

深度理解STL之map、set

课程设计做了这个一直没有整理(搬运 set算是关键字和相同的特殊map set应该更加被强调理解为"集合",而集合所涉及的操作并.交.差等,即STL提供的如交集set_intersection().并集set_union().差集set_difference()和对称差集set_symmetric_difference(),都需要进行大量的比较工作,那么使用底层是有序结构的红黑树就十分恰当了,这也是其相对hash结构的优势所在. Map是在红黑树基础上的Hash map,即存在唯一关键

[数据挖掘] - 聚类算法:K-means算法理解及SparkCore实现

聚类算法是机器学习中的一大重要算法,也是我们掌握机器学习的必须算法,下面对聚类算法中的K-means算法做一个简单的描述: 一.概述 K-means算法属于聚类算法中的直接聚类算法.给定一个对象(或记录)的集合,将这些对象划分为多个组或者“聚簇”,从而使同组内的对象间比较相似而不同组对象间差异比较大:换言之,聚类算法就是将相似的对象放到同一个聚簇中,而将不相似的对象放到不同的聚簇中.由于在聚类过程中不使用到类别标签,所以相似性的概念要基于对象的属性进行定义.应用不同则相似性规则和聚类算法一般不太