Swap原理

swap就是内存交换的意思,不是所有的机器都有swap分区,一般设置为内存的2倍。
计算机对内存分为物理内存与虚拟内存。物理内存就是计算机的实际内存大小,虚拟内存则是从磁盘空间开辟出一部分内存空间虚拟出来的,所以也叫磁盘缓存。虚拟内存的出现,让机器内存不够的情况得到部分解决。程序运行的时候系统会在虚拟内存与物理内存直接进行替换和加载。这里的虚拟内存就是swap。
进程运行的时候系统会判断当前物理内存是否还有空闲,如果有那么则直接调入内存进行运行;如果没有,那么会根据优先级选择一个进程挂起,把该进程交换到swap中等待,然后把新的进程调入到内存中运行。
swap out(so):进程向系统请求内存发现不足时,系统会把内存中暂时不用的数据交换出去,放在swap分区里;
swap in(si):当进程又需要这些数据且系统发现还有空闲物理内存时,又会把SWAP分区中的数据交换到物理内存中

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CN9jp7s3-1604477366462)(C:\Users\qiujingping\AppData\Roaming\Typora\typora-user-images\1604372452539.png)]

swap使用完,操作系统会触发

OOM-Killer

机制,杀掉占用内存最大的进程。所以大家经常会发现内存飙高之后进程莫名其妙的不见了。。。。

swap 内存交换原理相关推荐

  1. Linux命令 swap:内存交换空间

    swap 内存交换空间的概念 swap使用上的限制 转载于:https://www.cnblogs.com/onelikeone/p/6918089.html

  2. linux swap 内存交换分区调整

    增加swap分区 1.增加一个SWAP文件 # 建立一个2048M的swap文件 dd if=/dev/zero of=/tmp/tmp.swap bs=1M count=2048 2.标识为SWAP ...

  3. swap(交换内存)和shm(共享内存)的区别

    关于swap和shm的区别 在使用docker的过程中,发现docker中有很多关于内存的命令,例如: -m="10g",docker的运行内存,按照官方文档描述,应该是对应于实际 ...

  4. ubuntu设置swap(交换内存)

    ubuntu设置swap(交换内存) 1.首先用命令free查看系统内Swap 分区大小 total used free shared buffers cacheMem: 1002 964 38 0 ...

  5. 从内存管理原理,窥探OS内存管理机制

    摘要:本文将从最简单的内存管理原理说起,带大家一起窥探OS的内存管理机制,由此熟悉底层的内存管理机制,写出高效的应用程序. 本文分享自华为云社区<探索OS的内存管理原理>,作者:元闰子 . ...

  6. 操作系统面经总结—虚拟内存、内存分页、内存交换与覆盖等

    前几天更新了C++面经总结,后续几天将陆续更新操作系统的面经总结及面试中常问的一些操作系统的问题 三.操作系统 1.虚拟内存 1.1.虚拟内存意义 ​ 虚拟内存:将不同进程的虚拟地址和不同内存的物理地 ...

  7. 一文看懂 | 内存交换机制

    本文基于 Linux-2.4.16 内核版本 由于计算机的物理内存是有限的, 而进程对内存的使用是不确定的, 所以物理内存总有用完的可能性. 那么当系统的物理内存不足时, Linux内核使用什么方案来 ...

  8. JVM 堆内存设置原理

    堆内存设置 原理 JVM堆内存分为2块:Permanent Space 和 Heap Space. Permanent 即 持久代(Permanent Generation),主要存放的是Java类定 ...

  9. JVM内存Dump原理与在线分析实战 | 得物技术

    1.前言 当前我们微服务容器化部署JVM 实例很多,常常需要进行JVM heap dump analysis,为了提升JVM 问题排查效率,得物技术保障团队研究了JVM内存Dump 原理与设计开发了J ...

最新文章

  1. 在用户控件中撰写JS时控件的客户端ID问题
  2. 对 C++ 历史的个人观点
  3. SAP Spartacus Unit List Component的设计明细 - UnitListComponent
  4. 对Servlet容器的补充
  5. Codeforces 229D
  6. ZOJ3944People Counting暴力/枚举
  7. 简单的获取Android手机屏幕的像素
  8. 为什么沃伦·巴菲特有那么多的时间去阅读和思考
  9. ECharts制作报表模板
  10. 智慧园区系统设计方案
  11. AI魔法手!用算法修复老照片
  12. 高仿墨迹天气下拉拉伸图片
  13. httpservlet.java:131_网上竞价合同(WSJJ-东部新区-(2020)0076号-04)
  14. 计算机上的程序全是应用程序,手把手教你不是有效的 win32 应用程序怎么解决...
  15. html5拼图游戏canvas,canvas拼图游戏
  16. python pool_Python pool.Pool方法代码示例
  17. 判断二叉树是否为平衡二叉树(递归)
  18. 12306 抢票,极限并发带来的思考
  19. linux下文件对比工具详解(diff、diff3、sdiff、vimdiff和comm)
  20. 钟汉良日记:你知道吗?写日记可以影响三代人!

热门文章

  1. Java中char类型的默认值是什么
  2. 【HTML】HTML5给网页音频带来的变化
  3. 第十七章 加密XML文档
  4. Ubuntu下使用opera的坑
  5. 值的比较(大于 等于 小于 不等于)
  6. 简单实现B/S服务器
  7. 【并发编程】异步编程CompletableFuture实战
  8. 像素格式结构-PIXELFORMATDESCRIPTOR
  9. linuxprobe
  10. node 开启服务器