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.mzph.cn/news/714538.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

03、MongoDB -- MongoDB 权限的设计

目录 MongoDB 权限的设计演示前准备:启动 mongodb 服务器 和 客户端 :1、启动单机模式的 mongodb 服务器2、启动 mongodb 的客户端 MongoDB 权限的设计1、MongoDB 的每个数据库都可以保存用户,不止admin数据库可以保存用户。2、保存用户的数据…

Linux 学习笔记(8)

八、 启动引导 1 、 Linux 的启动流程 1) BIOS 自检 2) 启动 GRUB/LILO 3) 运行 Linux kernel 并检测硬件 4) 挂载根文件系统 5) 运行 Linux 系统的第一个进程 init( 其 PID 永远为 1 ,是所有其它进程的父进程 ) 6) init 读取系统引导配置文件…

GD25Q32驱动

GD25Q32是一款基于SPI的Flash芯片,容量为32/84M bytes。它的引脚如下: 该芯片支持多种SPI操作方式,包括:Standard SPI(标准SPI)、Dual SPI(双线 SPI)和Quad SPI(四线 SPI) 。有关SPI的介绍可以参考: SPI通信原理-CSDN…

flutter 文字一行显示,超出换行

因为app有多语言,中文和其他语言长度不一致,可能导致英文会很长。 中文样式 英文样式 代码 Row(mainAxisAlignment: MainAxisAlignment.end,crossAxisAlignment: CrossAxisAlignment.end,children: [Visibility(visible: controller.info.fee ! null,ch…

探寻2024年国内热门低代码平台排行!| 功能特点一览

低代码开发是一项革命性的技术,主要目的是尽量避免程序研发的复杂性,让外行开发者也能加入到应用程序的搭建中。低代码平台的核心概念和构成部分通常包括用户界面和拖拽设计、预构件和模块、自动化工作内容与数据库集成和扩展应用,应用低代码…

web前端css基本内容

web前端css 当我们用html的语法给内容规划布局样式时,可能会出现许多个相似的内容需要运用同一种样式,复制粘贴太麻烦而且如果后期要改动的话比如把许多个地方从红色改成蓝色,就需要一个一个改了,这时候就需要引入css来操作了 把…

java-使用jacob删除指定文件夹的邮件

总结见文章最后,具体代码如下: ActiveXComponent outlook = new ActiveXComponent("Outlook.Application");Dispatch myNamespace = Dispatch.call(outlook, "GetNamespace", "MAPI").toDispatch();//指定搜索特定的文件Dispatch allFolders =…

我耀学IT—day05-Bootstrap下拉菜单与导航

一、Bootstrap5 下拉菜单 下拉菜单是可切换的&#xff0c;是以列表格式显示链接的上下文菜单。 例&#xff1a; <div class"dropdown"><button type"button" class"btn btn-primary dropdown-toggle" data-bs-toggle"dropdown&…

U盘弹出提示“该设备正在使用中”:原因与解决方案

在日常使用U盘时&#xff0c;我们可能会遇到一个问题&#xff1a;当尝试安全弹出U盘时&#xff0c;系统提示“该设备正在使用中”。这种情况可能会让用户感到困惑&#xff0c;担心数据是否安全或是否会导致U盘损坏。本文旨在探讨这一现象背后的原因&#xff0c;并提供相应的解决…

【前端素材】推荐优质后台管理系统网页Stisla平台模板(附源码)

一、需求分析 1、系统定义 后台管理系统是一种用于管理和控制网站、应用程序或系统的管理界面。它通常被设计用来让网站或应用程序的管理员或运营人员管理内容、用户、数据以及其他相关功能。后台管理系统是一种用于管理网站、应用程序或系统的工具&#xff0c;通常由管理员使…

铅冶炼作业VR虚拟现实互动培训平台降低实操风险

在钢铁工业中&#xff0c;焦炉作业是一个关键的环节&#xff0c;也是一项技术要求高、操作复杂的任务。传统焦炉作业的培训通常需要在实际的焦炉上进行&#xff0c;这不仅对学员的身体素质和心理素质提出了较高的要求&#xff0c;而且也存在一定的安全风险。基于VR虚拟现实制作…

React富文本编辑器开发(三)

现在我们的编辑器显示的内容很单一&#xff0c;这自然不是我们的目标&#xff0c;让呈现的内容多元化是我们的追求。这就需要让编辑器能够接收多元素的定义。从初始数据的定义我们可以推断数据的格式远不止一种&#xff0c;那么其它类型的数据如何定义及呈现的呢&#xff0c;我…

基于单片机的AGV机器人设计的设计要求

基于单片机的AGV机器人设计的设计要求 1. 引言 本设计要求旨在设计一种基于单片机的自动导航车&#xff08;AGV&#xff09;机器人。AGV机器人可以在工厂、仓库等场景中进行自动导航、物料搬运等任务。本设计要求包括机器人的硬件设计要求和软件设计要求两个方面。 2. 硬件设…

(Aliyun AI ACP 02)阿里云人工智能产品体系

文章目录 阿里云人工智能工程师ACP认证考试知识点辅助阅读&#xff08;Aliyun AI ACP 02&#xff09;阿里云人工智能产品体系引言阿里云AI产品总体架构基础设施层&#xff1a;平台层&#xff1a;算法与模型层&#xff1a;应用层&#xff1a;组成部分详述&#xff1a;PAI产品家族…

手把手教你免费用Flashduty做消息通知

为什么需要消息通知&#xff1f; 如果有重要的情况发生&#xff0c;希望能通过各种媒介通知我们。可以举几个例子&#xff1a; 家里燃气费没有了&#xff0c;希望能有短信或者app通知api频繁500报错&#xff0c;希望及时感知&#xff0c;及时修复公司网站是https自签名证书&a…

白话大模型① :AI分析能做什么?在实际落地中会碰到什么问题?

白话大模型系列共六篇文章&#xff0c;将通俗易懂的解读大模型相关的专业术语。本文为第一篇&#xff1a;AI分析能做什么&#xff1f;在实际落地中会碰到什么问题&#xff1f; 作者&#xff1a;星环科技 人工智能产品部 我们使用一个简单的应用实例来解析人工智能分析都在做什…

若依框架使用mars3d的环境配置,地球构建

因项目需要&#xff0c;原本使用过的cesium依赖&#xff0c;现在想使用火星科技mars3d的一些功能&#xff0c;所以需要引入mars3d依赖&#xff0c;整个过程非常的坎坷&#xff0c;以至于我都不知道到底是哪些部分是标准的。。。先把我认为对的记录一下&#xff1a; 1.vue.conf…

[渗透教程]-200-网络安全基本概念

文章目录 1.0专业术语1.1资产1.2网络安全 (cyber security)1.3 网络空间 (cyberspace)1.4安全的属性1.5 安全策略1.6 威胁模型1.7 威胁模型1.8 DREAD模型1.9 OCTAVE模型1.10 国内的安全2.安全策略(Security Policy)3.安全机制(Security Mechanism)4. 安全防护模型

sqlserver保存微信Emoji表情

首先将数据库字段&#xff0c;设置类型为 nvarchar(200)一个emoji表情&#xff0c;占4字节就可以了&#xff0c;web前端展示不用改任何东西&#xff0c;直接提交数据保存&#xff1b;回显也会没有问题&#xff0c;C#代码不用做任何处理&#xff1b; 不哭不闹要睡觉&#x1f31…

【机器学习300问】24、模型评估的常见方法有哪些?

一、为什么要对模型进行评估&#xff1f; 对机器学习和神经网络的模型进行评估是至关重要的&#xff0c;原因如下&#xff1a; 得知模型的泛化能力 模型评估的主要目的是了解模型在未见过的数据上的表现&#xff0c;即其泛化能力。这是因为模型的性能在训练数据上可能会过拟合…