当前位置: 首页 > news >正文

Linux 的交换空间(swap)是什么?有什么用?

目录

  • swap是什么?
  • swap有什么用?
  • swap使用典型场景
  • 如何查看你的系统是否用到交换空间呢?
  • 查看系统中swap in/out的情况

swap是什么?

swap就是磁盘上的一块区域。它和Windows系统中的交换文件作用类似,但是它是一段连续的磁盘空间,并且会用户不可见。


swap有什么用?

当系统物理内存吃紧时,Linux会将内存中不常访问的数据保存到swap上。当然从用户的角度来看就相当于内存变大了。但在内部其实是将一段物理磁盘即swap分区充当Wie内存来使用。当系统需要访问swap上存储的内容时,再将swap上的数据加载到内存中,所以就有换入和换出两个过程。

  • 换出,就是把进程暂时不用的内存数据存储到磁盘中,并释放这些数据占用的内存。
  • 换入,则是在进程再次访问这些内存的时候,把它们从磁盘读到内存中来。

Swap 其实是把系统的可用内存变大了。即使服务器的内存不足,也可以运行大内存的应用程序。事实上,内存再大,对应用程序来说,也有不够用的时候。
系统总是在物理内存不够时,才进行Swap交换。swap大小是有上限的,一旦swap使用完,操作系统会触发OOM-Killer机制,把消耗内存最多的进程kill掉以释放内存


swap使用典型场景

我们常见的笔记本电脑的休眠和快速开机的功能,也基于 Swap 。休眠时,把系统的内存存入磁盘,这样等到再次开机时,只要从磁盘中加载内存就可以。这样就省去了很多应用程序的初始化过程,加快了开机速度。


如何查看你的系统是否用到交换空间呢?

怎么知道你的系统有没有用到交换空间呢?只需要在root用户下,运行下面的命令就可以知道了。

free -m # m 是指单位为MB,默认是KB

在日常应用中,通过上述命令看到交换空间的使用情况为0,那么你就不需要很大的虚拟内存,甚至可以完全不需要另辟硬盘空间作为虚拟内存。那么,万一有一天你需要了呢,难道要重装系统?大可不必,在Linux下虚拟内存不单可以放在单独的交换分区,也可以是一个在正常分区下的交换文件。


查看系统中swap in/out的情况

并不是swap空间占用多就一定性能下降,真正影响性能是swap in和out的频率,频率越高,对系统的性能影响越大,我们可以通过vmstat命令来查看swap in/out的频率。

vmstat(VirtualMeomoryStatistics,虚拟内存统计)是Linux中监控内存的常用工具,可对操作系统的虚拟内存、进程、CPU等的整体情况进行监视。

例如:要以3秒为时间间隔,连续收集10次性能数据,命令如下:
在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/306283.html

相关文章:

  • 消息中间件篇之RabbitMQ-消息不丢失
  • MongoDB中的TTL索引:自动过期数据的深入解析与使用方式
  • IPV6地址
  • 解密API关键词搜索(淘宝京东1688)商品列表数据
  • wpf 简单实验 数据更新 列表更新
  • 【Flink精讲】Flink性能调优:内存调优
  • Java 中常用的数据结构类 API
  • JavaScript学习小记(1)基本数据结构(数组,字符串)
  • python opencv实现车牌识别
  • K8S节点GPU虚拟化(vGPU)
  • NLP 使用Word2vec实现文本分类
  • 【Redis学习笔记03】Java客户端
  • 神经网络系列---激活函数
  • python中continue的对比理解
  • Amazon Generative AI | 基于 Amazon 扩散模型原理的代码实践之采样篇
  • [服务器-数据库]MongoDBv7.0.4不支持ipv6访问
  • 【b站咸虾米】chapter5_uniapp-API_新课uniapp零基础入门到项目打包(微信小程序/H5/vue/安卓apk)全掌握
  • 自学Python第十八天-自动化测试框架(二):DrissionPage、appium
  • 云尚办公-0.3.0
  • 汇编英文全称
  • 基于虚拟力优化的无线传感器网络覆盖率matlab仿真
  • 阿里云-系统盘-磁盘扩容
  • libmmd.dll修复
  • 大数据时代的明星助手:数据可视化引领新风潮
  • 设计模式--享元模式和组合模式
  • 基于Java springmvc+mybatis酒店信息管理系统设计和实现
  • leetcode-找不同
  • 笔记本hp6930p安装Android-x86避坑日记
  • zabbix监控业务数据
  • access数据库泄露与IIS短文件名利用