首先,这两个概念分别对应windows和linux,即:

windows:虚拟内存

linux:swap分区

windows即使物理内存没有用完也会去用到虚拟内存,而Linux不一样 Linux只有当物理内存用完的时候才会去动用虚拟内存(即swap分区)

swap类似于windows的虚拟内存,不同之处在于,Windows可以设置在windows的任何盘符下面,默认是在C盘,可以和系统文件放在一个分区里。而linux则是独立占用一个分区,方便由于内存需求不够的情况下,把一部分内容放在swap分区里,待内存有空余的情况下再继续执行,也称之为交换分区,交换空间是其中的部分

windows的虚拟内存是电脑自动设置的

Linux的swap分区是你装系统的时候分好的

tmpfs:

linux下面VM的大小由RM(Real Memory)和swap组成,RM的大小就是物理内存的大小,而Swap的大小是由你自己决定的。Swap是通过硬盘虚拟出来的内存空间,因此它的读写速度相对RM(Real Memory)要慢许多,我们为什么需要Swap呢?当一个进程申请一定数量的内存时,如内核的vm子系统发现没有足够的RM时,就会把RM里面的一些不常用的数据交换到Swap里面,如果需要重新使用这些数据再把它们从Swap交换到RM里面。 如果你有足够大的物理内存,根本不需要划分Swap分区。通过上面的说明,你该知道tmpfs使用的存储空间VM是什么了吧? 前面说过VM由RM+Swap两部分组成,因此tmpfs最大的存储空间可达(The size of RM + The size ofSwap)。 但是对于tmpfs本身而言,它并不知道自己使用的空间是RM还是Swap,这一切都是由内核的vm子系统管理的。

df命令:

tmpfs大小小于实际内存大小(共享内存基于它实现,有待进一步研究):

VM由RM+Swap两部分组成,因此tmpfs最大的存储空间可达(The size of RM + The size of Swap)。 但是对于tmpfs本身而言,它并不知道自己使用的空间是RM还是Swap,这一切都是由内核的vm子系统管理的。

tmpfs默认的大小是RM的一半,假如你的物理内存是1024M,那么tmpfs默认的大小就是512M

一般情况下,是配置的小于物理内存大小的。

tmpfs配置的大小并不会真正的占用这块内存,如果/dev/shm/下没有任何文件,它占用的内存实际上就是0字节;如果它最大为1G,里头放有100M文件,那剩余的900M仍然可为其它应用程序所使用,但它所占用的100M内存,是不会被系统回收重新划分的。

当删除tmpfs中文件,tmpfs 文件系统驱动程序会动态地减小文件系统并释放 VM 资源。

裸盘 lsscsi命令查看

linux swap分区与内存,虚拟内存和swap分区的关系相关推荐

  1. linux的swap与memory,【Linux】Linux中Swap与Memory内存简单介绍

    背景介绍 对于Linux来说,其在服务器市场的使用已经占据了绝对的霸主地位,不可动摇.Linux的各种设计思想和使用也被传承(当然不乏各种黑Linux,而且黑的漂亮).Linux的很多独特的设计,对性 ...

  2. 连续内存分区式内存管理

    目录 前言 分区式内存管理 动态分区内存管理 总结 本笔记参考黄工的https://mp.weixin.qq.com/s/k0W_LqI1zBAYC1GU1U2HQA 前言 内存管理模块主要负责内存的 ...

  3. #内存不够,swap来凑# Linux上创建SWAP文件/分区

    转自:https://www.vmvps.com/how-to-create-a-swap-file-on-the-linux-os.html 很久很久以前,电脑的内存是个珍贵东西,于是乎就有了swa ...

  4. linux swap分区满了,Linux下如何释放内存、swap分区满了怎么办!

    Name: 北京--东东 LINUX系统运维技术交流群:4930609 Email:tajiandong@163.com 在Linux系统下,我们一般不需要去释放内存,因为系统已经将内存管理的很好.但 ...

  5. linux swp 内存不足,Linux 增加 Swap 交换分区解决内存不足

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

  6. linux内存使用策略swap,Linux Swap使用分析

    Linux操作系统性能分析主要包含磁盘IO.CPU.内存以及网络流量,而这里主要针对系统内存的使用进程情况做个分析. 一.如何查看系统内存使用情况 1.根据常用命令查看系统内存使用概况 free  - ...

  7. linux 物理内存用完了_调整linux内核尽量用内存,而不用swap

    线上一台服务器kswapd0占用大量的cpu资源,导致负载过高,什么是kswapd0? Linux uses kswapd for virtual memory management such tha ...

  8. Linux内存Mem和Swap那点事,Linux内存 mem 和 swap

    摘抄并用于自查 Linux mem/swap/buffers/cached区别 free命令相对于top,提供了更简洁的查看系统内存使用情况: # free -m mem:表示物理内存统计 buff/ ...

  9. Linux内存管理:Swap介绍以及如何使交换具有可扩展性

    目录 一.swap分区 1. swap分区的创建 2. swap的数据结构 二.swap out 1. 回收流程 2. swap slot cache 3. ssd查找算法 三.swap in 1. ...

最新文章

  1. Android开发7——android.database.CursorIndexOutOfBoundsException:Index -1 requested
  2. Proof-of-Stake (POS) outperforms Bitcoin’s Proof-of-Work (POW)
  3. glide默认的缓存图片路径地址_手写一个静态资源中间件,加深了解服务器对文件请求的缓存策略...
  4. 【Libevent】Ubuntu安装libevent报错问题解决
  5. ajax mode,DWR的三种Reverse Ajax Mode配置详解
  6. Chrome 96 又更新了 5 个巨巨巨好用的功能
  7. SSL/TLS协议信息泄露漏洞(CVE-2016-2183)【原理扫描】 服务器支持 TLS Client-initiated 重协商攻击(CVE-2011-1473)【原理扫描】
  8. java生日正则表达式_Java编程基础15——正则表达式常用工具类
  9. 缺少Python27_d.lib的解决方法
  10. Spring-IOC之BeanDefinitionHolder
  11. 一拖再拖忍无可忍,谷歌披露影响开发人员的 GitHub 高危0day漏洞
  12. perl中的uc与lc函数
  13. android之mipmap文件夹
  14. android 前后台,Android App前后台监控
  15. 手机微信html代码,html5 css3手机微信ui界面代码
  16. 电脑某一个文件夹嵌套太多,导致无法删除的解决方法
  17. keep-alive 的作用及使用场景
  18. 浅析栈指针ESP和帧指针EBP
  19. BeanCurrentlyInCreationException异常分析及解决
  20. Connection接口

热门文章

  1. jersey客户端_项目学生:带有Jersey的Web服务客户端
  2. java中使用es的dsl_基于DSL的基于图论的Java程序中输入图数据的方法
  3. webapp支持什么数据库_数据库和Webapp安全
  4. 会java的鸭子_鸭子在Java中打字? 好吧,不完全是
  5. Spring Boot Cassandra的第一步
  6. 如何:在Spring中使用@Conditional和Condition注册组件
  7. orm查询部分字段_ORM问题第2部分–查询
  8. 带有调试器的Apache Camel Eclipse工具
  9. 一罐将其全部统治:Arquillian + Java 8
  10. 开发人员需要了解的有关xPaaS的一切