OS系统中swap分区和虚拟内存关系

一、内存和虚拟内存

物理内存

RAM即内存:随机存取存储器(random access memory),是与CPU交换数据的内部存储器。内存和CPU之间还存在L1-L3缓存用于解决CPU处理数据和读写数据之间的差异。

虚拟内存

基本概念:

        计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。目前,大多数操作系统都使用了虚拟内存,如Windows家族的“虚拟内存”;Linux的“交换空间”等。

--来自百度百科

作用:

        当操作系统物理内存不够用时,需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。

内存数据还会被交换到文件中:

        有一部分数据会被直接交换到操作系统的文件系统。例如准备从内存中写入文件的数据,会被直接交换到文件中。

Linux操作系统的Swap分区 

广义的虚拟内存概念是一种计算机内存管理技术。包括如Windows系统中狭义的“虚拟内存”,Linux操作系统中的“swap”交换空间等。

定义:交换区,系统在物理内存(这里应该是运行内存)不够时,与Swap进行交换--百度百科。

作用:

        Swap分区在系统的物理内存不够用的时候,把内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。

二、缓存cache和缓冲区buffer

缓存(Cache):缓存是指可以进行高速数据交换存储器,它先于内存CPU交换数据--百度百科。

广义的缓存可以指任何介于两种不同处理速度元件之间的存储器。例如:文件系统缓存、浏览器缓存、DNS缓存、网关缓存、进程内部缓存等。

狭义的缓存指计算机物理内存和CPU之间存在的L1-L3级用于数据交换的存储器。

 

 页缓存:即Linux下文件系统中的缓存

页缓存是从内存中划分出来的一部分存储空间。

 

缓冲器(Buffer):在计算机领域,缓冲器分输入缓冲器和输出缓冲器两种。前者的作用是将外设送来的数据暂时存放,以便处理器将它取走;后者的作用是用来暂时存放处理器送往外设的数据--百度百科。

缓冲器buffer主要针对磁盘。用于块设备文件读写,主要是数据写入。是从物理内存中划分出的一块存储空闲。

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Ubuntu,设置swap虚拟内存)有几种方法可以选择。 第一种方法是通过使用GParted分区工具创建一个swap分区。首先,打开终端并输入sudo apt-get install gparted来安装GParted。安装完成后,运行GParted并选择要创建swap分区的硬盘。右键单击硬盘并选择"New Partition"。在弹出的对话框选择分区类型为"linux-swap",然后设置分区大小(通常建议设置与计算机RAM大小相同或稍大),最后点击"Add"按钮来创建swap分区。创建完成后,右键单击swap分区并选择"swapon"。 第二种方法是通过使用命令行来设置swap。首先,打开终端并输入sudo fallocate -l [size] /swapfile来创建一个指定大小的swap文件,将[size]替换为要创建的swap文件的大小(例如,2G)。然后,运行sudo chmod 600 /swapfile命令来设置swap文件的权限。接下来,运行sudo mkswap /swapfile命令来格式化swap文件。最后,使用sudo swapon /swapfile命令来启用swap。 第三种方法是编辑/etc/fstab文件来永久设置swap。首先,打开终端并输入sudo nano /etc/fstab来编辑文件。在文件的最后添加一行/swapfile none swap sw 0 0,然后保存并关闭文件。最后,运行sudo swapon -a命令来激活新的swap设置。 无论选择哪种方法,设置完成后可以使用free -h命令来查看swap是否已成功设置。 ### 回答2: 在Ubuntu,可以通过以下步骤设置Swap虚拟内存)。 第一步,打开终端。可以通过按下Ctrl + Alt + T组合键来打开终端。 第二步,输入以下命令来查看系统当前的Swap设置情况: ``` sudo swapon --show ``` 如果没有任何输出,则表示Swap未启用。 第三步,创建一个Swap文件。可以使用以下命令来创建一个名为swapfile的文件,大小为2GB(根据需求可以调整文件大小): ``` sudo fallocate -l 2G /swapfile ``` 第四步,将文件的权限设置为只读: ``` sudo chmod 600 /swapfile ``` 第五步,将文件格式化为Swap: ``` sudo mkswap /swapfile ``` 第六步,启用Swap文件: ``` sudo swapon /swapfile ``` 第七步,修改/etc/fstab文件以使Swap文件在系统重启后自动启用。打开/etc/fstab文件并在末尾添加以下行: ``` /swapfile none swap sw 0 0 ``` 保存并关闭文件。 最后一步,重新启动系统以使Swap文件生效: ``` sudo reboot ``` 完成以上步骤后,Swap文件将成功设置并启用在Ubuntu系统。你可以使用以下命令来验证Swap是否已启用: ``` sudo swapon --show ``` ### 回答3: 在Ubuntu系统swap虚拟内存)用于扩展系统的内存空间,以提高系统的性能和稳定性。以下是在Ubuntu设置swap的方法: 1. 首先,通过命令查看系统当前的swap使用情况,可以使用以下命令: ``` sudo swapon --show ``` 如果没有任何输出,表示系统当前没有启用swap。 2. 创建一个文件作为swap的存储空间,可以使用以下命令: ``` sudo fallocate -l <swap大小> <swap文件路径> ``` 其,<swap大小>是swap文件的大小,可以使用单位G(GB)或M(MB),例如:"1G"或"512M",<swap文件路径>是swap文件的路径和名称。 3. 设置该文件为swap格式,通过以下命令: ``` sudo mkswap <swap文件路径> ``` 4. 启用swap,使用以下命令: ``` sudo swapon <swap文件路径> ``` 5. 验证swap是否启用成功,可以使用以下命令: ``` sudo swapon --show ``` 如果输出包含swap文件的相关信息,则表示swap已成功启用。 6. 对于永久性地启用swap,在系统启动时自动加载swap文件,需要将该文件添加到/etc/fstab文件。打开该文件并在末尾添加以下内容: ``` <swap文件路径> swap swap defaults 0 0 ``` 保存并关闭文件。 经过以上步骤,您成功地设置了swap虚拟内存)在Ubuntu系统。注意,建议swap的大小不超过系统内存的2倍,以避免过度使用磁盘空间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值