linux 交换空间(space space)详解

本文详细介绍了Linux系统中的内存管理,包括内存与磁盘的区别、Swap Space的作用及其类型。当RAM不足时,Swap Space作为扩展内存使用,避免系统因资源紧张而出现Trashing现象。同时,文章探讨了如何合理分配Swap Space。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

内存和磁盘简介

正常的linux操作系统一般有两种内存,第一种就是我们熟知的RAM(random access memory),它是用来存储一段时间内频繁使用的数据和文档,电脑是不能直接读写非内存的东西。内存是一种失存储器,因此当断电的情况发生的时候,内存中的东西会丢失。

硬盘是用于长期存储数据和程序的磁性介质。即使电脑断电,存储在磁盘上的数据仍保持不变。CPU(中央处理器)不能直接访问硬盘上的程序和数据;它必须首先复制到RAM中,在RAM中,CPU可以访问它的编程指令和这些指令操作的数据。在引导过程中,计算机将特定的操作系统程序和数据从硬盘拷贝到RAM中,然后由计算机的处理器(即CPU)直接访问。

Swap Space 交换空间

swap space是上面说的现代linux系统两种内存中的第二种存储记忆(memory)。swap space 主要功能是当RAM被塞满之后,用磁盘空间来代替RAM空间。

举个栗子,假设你有一块8g的ram,当你运行的程序没有填满RAM的时候,一切都是正常运行的。然后你运行越来越多的程序的时候,RAM被塞满了,这是后你不得不关闭一些程序来释放内存以供你现在的程序正常运行。或者如果你给你的机器分配了swap space的时候,内核会使用一个memory management 来管理你内存中近期不用的程序,然后将这些相对较少使用的内存页交换到硬盘上专门为“分页”或交换指定的特殊分区。这种方式就会挪出更多的RAM空间供你使用。当然你如果想用这些在交换空间中的程序的时候 memory management会重新把它们移到RAM中。

因此在linux系统中的内存指的是RAM和swap的和,也被称为虚拟空间。

linux交换空间的类型

linux提供两种swap space,默认的大多数linux安装都只创建了一个交换分区(space partition),除此之外也可以使用专门配置的文件作为交换文件。交换分区是通过mkswap命令将其指定为交换空间的标准磁盘分区。而swap file是创建一个文件将读写的内存里读写的文件丢进去。但是不推荐使用swap file

操作系统颠簸(Trashing)

Trashing总是发生在虚拟内存满的时候,也就是说,当RAM和 swap space都近满的时候,系统在交swap apace和RAM之间来回分页内存块的时间太长了,以至于剩下的用于实际工作的时间很少。典型的症状就是:系统变得缓慢或完全没有响应,而硬盘活动灯会一直亮着。

使用命令free来显示CPU负载和内存使用情况,就会看到CPU负载非常高,而且是RAM和交换空间几乎完全被分配。

swap space分配

那么到底要分配多数swap space呢,可以按照下面表格来分配

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值