内存交换空间--Swap Space

news/2025/3/16 22:53:58/文章来源:https://www.cnblogs.com/zjdxr-up/p/18341092

转载请注明出处:

一、概述

内存交换空间(Swap Space)是计算机内存的一种补充,位于硬盘驱动器上。当物理内存(RAM)不足时,系统会将不活跃的页面(或称为内存页)移到交换空间中,以释放物理内存给更需要的进程。这种方式虽然比直接从物理内存中读取数据要慢,但能有效避免系统因内存不足而崩溃。

二、配置

1. 配置原则
  • 交换空间的总大小一般推荐为物理内存的两倍和32MB中的较大者,但不超过2GB(不同来源可能有不同建议,具体根据实际需求和环境调整)。
  • 专用交换分区是推荐的方法,因为它性能更优且管理方便。
2. 配置方法(以Linux为例)

创建交换文件

  1. 关闭现有的交换空间(如果已存在)。
  2. 使用dd命令创建交换文件。例如,创建一个10GB的交换文件:
sudo dd if=/dev/zero of=/swapfile bs=1G count=10

   3. 设置交换文件的权限,仅允许root用户读写:

sudo chmod 600 /swapfile

   4. 将文件设置为交换空间:

sudo mkswap /swapfile

   5. 激活交换空间:

sudo swapon /swapfile

配置交换分区

  1. 分区:使用fdiskparted等工具在磁盘上分出一个分区用于交换。
  2. 格式化:使用mkswap命令格式化该分区为交换分区。
  3. 激活:使用swapon命令激活交换分区。

三、查看

在Linux中,可以使用多种命令查看交换空间的使用情况:

  1. free命令:显示系统的内存使用情况,包括物理内存、交换空间等。

free -m

  -m选项表示以MB为单位显示。

                 

   2. swapon命令:查看当前正在使用的交换文件或交换分区。

swapon --show

           

  3. cat /proc/swaps命令:查看当前正在使用的交换空间及其相关信息。

cat /proc/swaps

  

  4. top或htop命令:这些交互式系统监视工具可以在终端中实时显示系统资源使用情况,包括交换空间。

四、作用

  1. 内存扩展:当物理内存不足时,交换空间提供额外的存储空间,确保系统可以继续运行。
  2. 性能优化:通过将不常用的内存页移动到交换空间,可以为当前需要执行的程序腾出物理内存空间,从而提高系统性能。
  3. 系统稳定性:防止因内存不足而导致的系统崩溃或性能下降。

五、示例

  1. 创建交换文件:

sudo dd if=/dev/zero of=/swapfile bs=1G count=8  # 创建一个8GB的交换文件  
sudo chmod 600 /swapfile  
sudo mkswap /swapfile  
sudo swapon /swapfile

  2. 验证配置:
    使用free -m命令查看内存和交换空间的使用情况,确认交换空间已正确配置并激活。

  通过以上步骤,Linux系统成功配置了交换空间,提高了系统的稳定性和性能。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/778042.html

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

相关文章

Markdown新技能解锁!轻松绘制专业时序图,让你的文档秒变高大上

时序图是一种表现交互过程的图示,主要展示各个参与者之间是如何交互的,以及交互的顺序是怎样的。时序图是一种表现交互过程的图示,主要展示各个参与者之间是如何交互的,以及交互的顺序是怎样的。 ‍ 快速入门 听不太懂?没关系,看个例子,下图是小程序登陆过程中,小程序、…

C语言--轮圈机制

数据是以二进制补码形式存储在计算机内存中,而数据类型限制了数据的大小,种类,范围,精度等。 在存储二进制数据时,常常遇到存储的数值超出数据类型范围的情况。而这时的存储原理又是怎样的呢? 根据实践,不难总结出一个规律,计算机存储的数据在一个范围内循环。如下图所…

kubeadm安装k8s

目录1.环境准备2.所有节点安装docker3.所有节点安装kubeadm4.Nginx负载均衡部署5.部署K8S集群6.所有节点部署网络插件flannel 1.环境准备 (1)在所有节点上安装Docker和kubeadm (2)部署Kubernetes Master (3)部署容器网络插件 (4)部署 Kubernetes Node,将节点加入Kuber…

linux 安装 nginx

一、官网下载Nginx 官网地址:http://nginx.org/en/download.html我下载的是最新稳定版二、上传到服务器解压 1、上传到指定的服务器地址 上传的地址自己决定,我上传到 /usr/Nginx。2、解压 使用命令: tar -zxvf “你的Nginx压缩包”,我这里是:tar -zxvf nginx-1.24.0.tar.…

pytorch中中的模型剪枝方法

一,剪枝分类所谓模型剪枝,其实是一种从神经网络中移除"不必要"权重或偏差(weigths/bias)的模型压缩技术。关于什么参数才是“不必要的”,这是一个目前依然在研究的领域。1.1,非结构化剪枝非结构化剪枝(Unstructured Puning)是指修剪参数的单个元素,比如全连…

Delphi 线程

不是原创,只是看到好的内容复制了保存下来,留着学习。CreadteThred参考,同步参考,WaitForSingleObject参考,互斥参考,一、在 Delphi 中使用多线程有两种方法: 调用 API、使用 TThread 类; 使用 API 的代码更简单. 1、调用 API:CreateThread()function CreateThread( lpT…

练习01

⽤普通⽤户身份登陆虚拟机上完成练习 在⽤户家⽬录下创建6个⽂件 song1.mp3 ~ song6.mp3把上出创建的songX.mp3⽂件移动到Music⽬录下(不存在则创建)在⽤户家⽬录下创建三个⽬录,分别为 friends,family,work换到friends⽬录下,把Music⽬录下的song1.mp3 ~ song3.mp3 拷⻉到当…

一个基于Java的接口快速开发框架!无需编写代码,通过UI界面编写接口!

magic-api —— 一个基于 Java 的接口快速开发框架,提供了一个类似 IDEA IDE 的 Web 界面来编写接口。大家好,我是 Java陈序员。 随着技术框架的不断发展更新,在日常开发中,我们可以借助一些第三方框架来快速实现接口开发,如 MyBatis-Plus.但是这些框架工具,往往需要定义…

文本相似度 HanPL汉语言处理

@目录前言需求简介实操开始1. 添加pom.xml依赖2. 文本相似度工具类3. 案例验证4. 验证结果总结前言 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i、提示:以下是本篇文章正文内容,下面案例可供参考 需求 当我们需要求两个或两个以上的字符串相似度百分比时,可以…

GreatSQL 8.0.32-26 今日发布

GreatSQL 8.0.32-26 今日发布 版本信息发布时间:2024年08月05日版本号:8.0.32-26, Revision a68b3034c3d下载链接:https://gitee.com/GreatSQL/GreatSQL/releases/tag/GreatSQL-8.0.32-26用户手册:https://greatsql.cn/docs/8.0.32-26/特性增强 GreatSQL 8.0.32-26 版本在 …

「代码随想录算法训练营」第二十九天 | 动态规划 part2

62. 不同路径题目链接:https://leetcode.cn/problems/unique-paths/ 题目难度:中等 文章讲解:https://programmercarl.com/0062.不同路径.html 视频讲解:https://www.bilibili.com/video/BV1ve4y1x7Eu/ 题目状态:还是想不出 dp 数组,看题解了思路: 首先构建一个 dp 数组…

一直让 PHP 程序员懵逼的同步阻塞异步非阻塞,终于搞明白了

经常听到身边写 Java、Go 的朋友提到程序异步、非阻塞、线程、协程,让系统性能提高到百万、千万并发,使我甚是惊讶属实羡慕。大家好,我是码农先森。 经常听到身边写 Java、Go 的朋友提到程序异步、非阻塞、线程、协程,让系统性能提高到百万、千万并发,使我甚是惊讶属实羡慕…