linux swap交换分区

Linux Swap partition_详解及用法 Linux Swap partition 1. Linux swap ​ Linux swap: what it is and how to use it 1. Linux swap介绍 ​ Linux内核将RAM划分为多个内存块,而交换过程是Linux内核使用硬盘空间(交换空间)来存储RAM中的信息并释放一些RAM空间时进行的。这就是为什么在安装Linux发行版时,安装向导通常会要求您为系统分配一些空间,为交换分配另一个空间。 ​ 使用交换是扩展RAM的一种非常有用的方法,因为当RAM空间用完并且 阅读详情

转自:https://segmentfault.com/a/1190000008125116

什么是swap?

swap space是磁盘上的一块区域,可以是一个分区,也可以是一个文件,或者是他们的组合。简单点说,当系统物理内存吃紧时,Linux会将内存中不常访问的数据保存到swap上,这样系统就有更多的物理内存为各个进程服务,而当系统需要访问swap上存储的内容时,再将swap上的数据加载到内存中,这就是我们常说的swap out和swap in。

为什么需要swap?

要回答这个问题,就需要回答swap给我们带来了哪些好处。

  • 对于一些大型的应用程序(如LibreOffice、video editor等),在启动的过程中会使用大量的内存,但这些内存很多时候只是在启动的时候用一下,后面的运行过程中很少再用到这些内存。有了swap后,系统就可以将这部分不这么使用的内存数据保存到swap上去,从而释放出更多的物理内存供系统使用。

  • 很多发行版(如ubuntu)的休眠功能依赖于swap分区,当系统休眠的时候,会将内存中的数据保存到swap分区上,等下次系统启动的时候,再将数据加载到内存中,这样可以加快系统的启动速度,所以如果要使用休眠的功能,必须要配置swap分区,并且大小一定要大于等于物理内存

  • 在某些情况下,物理内存有限,但又想运行耗内存的程序怎么办?这时可以通过配置足够的swap空间来达到目标,虽然慢一点,但至少可以运行。

  • 虽然大部分情况下,物理内存都是够用的,但是总有一些意想不到的状况,比如某个进程需要的内存超过了预期,或者有进程存在内存泄漏等,当内存不够的时候,就会触发内核的OOM killer,根据OOM killer的配置,某些进程会被kill掉或者系统直接重启(默认情况是优先kill耗内存最多的那个进程),不过有了swap后,可以拿swap当内存用,虽然速度慢了点,但至少给了我们一个去debug、kill进程或者保存当前工作进度的机会。

  • 如果看过Linux内存管理,就会知道系统会尽可能多的将空闲内存用于cache,以加快系统的I/O速度,所以如果能将不怎么常用的内存数据移动到swap上,就会有更多的物理内存用于cache,从而提高系统整体性能。

swap的缺点?

上面介绍了swap的优点,那swap的缺点呢?swap是存放在磁盘上的,磁盘的速度和内存比较起来慢了好几个数量级,如果不停的读写swap,那么对系统的性能肯定有影响,尤其是当系统内存很吃紧的时候,读写swap空间发生的频率会很高,导致系统运行很慢,像死了一样,这个时候添加物理内存是唯一的解决办法。

由于系统会自动将不常用的内存数据移到swap上,对桌面程序来说,有可能会导致最小化一个程序后,再打开时小卡一下,因为需要将swap上的数据重新加载到内存中来。

到底要不要swap?

上面介绍了什么是swap以及它们的优缺点,那么到底要不要配置swap呢?答案是:看情况。

下面分别讨论内存不够用、内存勉强够用和内存很充裕这三种情况下服务器和桌面环境对swap的选择。

内存不够用

不管是桌面还是服务器,当物理内存明显不够用,而又想跑程序的话,添加swap是唯一的选择,慢点总比不能工作强。

内存勉强够用

建议配置swap,这样内核会将不常用的数据从内存移到swap上,从而有更多的物理内存供系统调用,提升系统性能,同时也避免因偶尔的物理内存不够造成进程异常退出,提升系统稳定性,但对服务器来说,一定要限制或者监控swap空间的使用情况,当出现swap空间使用超预期或者swap in/out频繁时,要及时采取措施,不然对性能影响很大

内存充裕

理论上来说,如果物理内存足够多并且不需要休眠功能,那swap就没什么用,可关键问题是我们很难保证物理内存在任何情况下都够用,因为总有意想不到的情况发生,比如某些进程耗内存超预期,服务器压力超预期,内存泄漏等。

在内存充裕的这种情况下,如果发生异常,swap能帮到我们吗?

桌面环境

一般不会开什么监控功能,所以也没法提前预知内存使用异常,当内存被用光的时候,分两种情况:

  • 配置了swap:在系统变慢的时候能感觉到,可能还有机会杀掉一些进程和保存当前工作进度,当然也会出现慢的想砸电脑的情况,不过在磁盘如此廉价的情况下,浪费点磁盘空间换取这样的一个机会还是值得的。

  • 没有配置swap:内核的OOM killer被触发,可能连保存工作进度的机会都没有。

服务器环境

服务器一般都会配置监控程序,当内存用量达到一个阈值的时候告警或者会自动重启异常的进程。但如果没有监控呢?当内存被用光的时候,分两种情况:

  • 配置了swap:这时服务器还能提供服务,但性能会降低好几个档次,直到最终处于几乎死机状态,并且这一过程将持续很长一段时间,对服务器来说是个灾难;所以配置swap只能让服务再苟延残喘一会儿,然后就是长时间的服务中断(比如原来是每秒处理1000个请求的服务器,由于频繁使用swap,导致现在每秒只能处理50个请求,站在系统角度,进程还在运行,但是在业务角度服务已经几乎中断了)。

  • 没配置swap:这时内核的OOM killer被触发,在默认配置下,耗内存的进程会被优先kill掉,这种进程一般就是我们的业务进程,这时守护进程就会自动重启该业务进程(没有守护进程?开什么玩笑),这种情况只会造成服务中断一会会儿(取决于进程重启的时间),不会出现上面因配置了swap而导致性能很差且服务持续中断的情况。就算OOM killer没有kill掉预期的进程,我们通过测试也能发现,然后将OOM killer配置成重启系统,那也比配置了swap在那里苟延残喘的好。

从上面可以看出,对服务器来说,似乎不配置swap更好,可以让有问题的进程尽快重启,缩短业务受影响的时间。

并且,就算没有配置监控程序,我们还有cgroups中的内存控制模块,可以控制一组进程所能使用的最大内存数,当超过这个数的时候,可以触发相应的行为,比如重启进程等。

总的来说,对于桌面环境来说,一般内存没有服务器端那么充裕,并且由于使用场景原因,会打开很多不同类型的GUI窗口,但前台的进程只有一个,大部分都是在后台待命,所以配置swap对提升性能还是有必要的;对于服务器来说,配置的内存都比较充裕,启动起来的进程也都是要干活的进程(不然就不应该被启动起来),并且也没有休眠的需求,再加上有了cgroups之后,可以更轻松的限制进程的内存使用,个人认为配置swap基本没什么必要了,看看coreos,默认就没有swap。

swap大小配置多少比较合适?

既然配置swap对桌面系统有帮助,那么配置多少大小的swap比较合适呢?下面是ubuntu给出的建议:

  • 当物理内存小于1G且不需要休眠时,设置和内存同样大小的swap空间即可;当需要休眠时,建议配置两倍物理内存的大小,但最大值不要超过两倍内存大小

  • 当物理内存大于1G且不需要休眠时,建议大小为round(sqrt(RAM)),其中RAM为物理内存大小;当需要休眠时,建议大小是RAM+round(sqrt(RAM)),但最大值不要超过两倍内存大小

  • 如果两倍物理内存大小的swap空间还不够用,建议增加内存而不是增加swap

下面是详细的不同物理内存情况下的建议,第一列是物理内存的大小,第二列和第三列是不需要和需要休眠两种情况下推荐的大小,第四列是不要超过的最大值

 物理内存(MB)  不需要休眠  需要休眠  最大值
 256          256       512     512
 512          512       1024    1024
 1024         1024      2048    2048
 
物理内存(GB)  不需要休眠  需要休眠  最大值
  1          1         2        2
  2          1         3        4
  3          2         5        6
  4          2         6        8
  5          2         7        10
  6          2         8        12
  8          3         11       16
  12         3         15       24
  16         4         20       32
  24         5         29       48
  32         6         38       64
  64         8         72       128
  128        11       139       256

怎么配置swap?

当我们确定好配置多大的swap空间后,具体应该怎么配置呢?当然可以在系统安装的时候分配好,但如果对安装时分配的大小不满意,我们还可以在后面进行调整。在这里将不介绍安装的时候怎么配,只介绍如何往系统中添加更多的swap空间。

Linux下有两种类型的swap空间,swap分区和swap文件,他们有各自的特点:

  • swap分区上面由于没有文件系统,所以相当于内核直接访问连续的磁盘空间,效率相对要高点,但由于swap分区一般安装系统时就分配好了了,后期要缩减空间和扩容都很不方便。

  • swap文件放在指定分区的文件系统里面,所以有可能受文件系统性能的影响,但据说2.6版本以后的内核可以直接访问swap文件对应的物理磁盘地址,相当于跳过了文件系统直接访问磁盘,不过如果swap文件在磁盘上的物理位置不连续时,还是会对性能产生不利影响,但其优点就是灵活,随时可以增加和移除swap文件。

查看系统中已经配置的swap

dxt@DXT:~/QiuZhao/SharedMem/ShareMem$ free -m
              total        used        free      shared  buff/cache   available
Mem:           3845        2986         120         411         737         143
Swap:          3904        1540        2364

或者: 

使用命令swapon -s即可查看系统中在用的swap

dev@dev:~$ swapon -s
Filename                Type        Size    Used    Priority
/dev/dm-1               partition   524284  0       -1

如果配置有多个swap分区或者文件的话,这里将会有多行,每行代表一个正在被系统使用的swap分区或文件,下面是每个字段的意思:

  • Filename:如果swap类型是分区,这里将是分区的路径,如果swap类型是文件,这里将是文件的路径

  • Type:swap的类型,partition代表这是一个swap分区,file代表这是一个swap文件

  • Size:swap的大小,单位是k,这里524284表示的差不多是512M

  • Used:已经被使用的大小,这里0表示还没有被使用到

  • Priority:优先级,优先级高的swap将会被优先使用,同等优先级的swap将会被均匀的使用(round-robin算法),优先级可以通过“swapon -p”命令来设置

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

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

#参数2表示每两秒统计一次,si和so两列就是每秒swap in和out的次数
dev@ubuntu:~$ vmstat 2
procs------------memory--------------swap----io-----system-----------cpu-----
 r b    swpd  free  buff cache      si so   bi bo   in  cs      us sy id wa st
 0 0    70232 75620 7940 209476     0  0    0  0    111 180     0  1  99 0  0
 0 0    70232 75620 7940 209476     0  0    0  0    116 186     1  1  99 0  0
 0 0    70228 75620 7940 209476     2  0    2  0    120 193     1  1  98 1  0
 0 0    70228 75620 7940 209476     0  0    0  0    117 186     0  0  100 0 0
 0 0    70228 75620 7940 209476     0  0    0  0    113 184     0  1  99 0  0

添加swap分区

在添加swap分区前,首先得有一个空闲的分区,如果是一块新的磁盘,可以用fdisk来创建一个新的分区用于swap。

注意:磁盘分区操作一定要小心,弄不好就会造成数据丢失、系统挂掉的后果。磁盘分区操作不是本篇要介绍的内容,所以这里不会讨论fdisk怎么用。

#本篇使用的测试环境是虚拟机,/dev/sdb是一块新加的硬盘并且已经用fdisk创建好了一个分区
#本例中将使用/dev/sdb1这个分区
dev@dev:~$ sudo fdisk -l /dev/sdb
Device     Boot Start     End Sectors Size Id Type
/dev/sdb1        2048 4194303 4192256   2G 83 Linux
 
#创建swap分区
dev@dev:~$ sudo mkswap /dev/sdb1
Setting up swapspace version 1, size = 2 GiB (2146430976 bytes)
no label, UUID=d69621de-618a-4bea-9a96-b8e8b0d0ea40
 
#查看系统中现在正在使用的swap,以便于和添加后做比较
dev@dev:~$ swapon -s
Filename                Type        Size    Used    Priority
/dev/dm-1                               partition   524284  0   -1
 
#将新的分区加入到系统中
dev@dev:~$ sudo swapon /dev/sdb1
 
#这时候可以看到新的swap分区已经被加入到系统中了,并且优先级比原来的要低
dev@dev:~$ swapon -s
Filename                Type        Size    Used    Priority
/dev/dm-1               partition   524284  0       -1
/dev/sdb1               partition   2096124 0       -2
 
#为了保证系统重启后会自动加载我们新的swap分区,需要修改/etc/fstab文件
dev@dev:~$ sudo sh -c 'echo "/dev/sdb1 none  swap    sw   0    0" >> /etc/fstab'
#查看一下,确保写入成功,这里的第一条是原来的系统的swap分区,第二条是我们刚添加的
dev@dev:~$ grep swap /etc/fstab
/dev/mapper/dev--vg-swap_1 none            swap    sw              0       0
/dev/sdb1 none  swap    sw   0    0

添加swap文件

添加swap文件就简单多了,也没有分区操作那么有风险。

#先创建一个新的512M的文件,用来作为swap文件,文件路径可以随便
#fallocate这个命令依赖于文件系统,有些老的文件系统不支持这个命令,比如ext2,
#这种情况下可以用dd来实现同样的效果:
#sudo dd if=/dev/zero of=/mnt/512MiB.swap bs=1024 count=524288
#fallocate和dd的区别在于:
#fallocate是先声明这么多,然后在具体用到的时候文件系统才分配真正的物理磁盘空间,就是用一点分配一点,
#而dd是一开始就实实在在的写了512m的数据到物理磁盘空间。
#所以作为测试来说fallocate方便些,因为刚开始不用写任何数据,要快
dev@dev:~$ sudo fallocate -l 512m /mnt/512MiB.swap
 
#修改文件的权限,避免其他用户对这个文件进行误操作
dev@dev:~$ sudo chmod 600 /mnt/512MiB.swap
 
#格式化为swap文件
dev@dev:~$ sudo mkswap /mnt/512MiB.swap
 
#将新的文件加入到系统中
dev@dev:~$ sudo swapon /mnt/512MiB.swap
 
#这时候可以看到新的swap文件已经被加入到系统中了,类型为file
#这里可以看到由于优先级最高,第一个swap分区/dev/dm-1已经被使用了24K
dev@dev:~$ swapon -s
Filename                Type        Size    Used    Priority
/dev/dm-1               partition   524284  24      -1
/dev/sdb1               partition   2096124 0       -2
/mnt/512MiB.swap        file        524284  0       -3
 
#从free命令的输出可以看到,经过前面两轮添加swap分区和文件,
#现在系统的交换空间已经变成3G(3144692K)了
dev@dev:~$ free
              total        used        free      shared  buff/cache   available
Mem:         500192       39112        9564        1996      451516      430820
Swap:       3144692          24     3144668
 
#同样为了保证系统重启后会自动加载我们新的swap文件,需要修改/etc/fstab文件
dev@dev:~$ sudo sh -c 'echo "/mnt/512MiB.swap none  swap    sw   0    0" >> /etc/fstab'

注意:不是所有的文件系统都支持创建swap文件,如btrfs,在btrfs分区里创建swap文件将失败。

取消所有的swap

如果经过深思熟虑之后,确定不再需要swap,那么可以将所有的swap分区和文件从系统中移除,步骤和上面的刚好相反

#停掉所有系统正在使用的swap
dev@dev:~$ sudo swapoff -a
 
#swapon -s命令没有任何输出,free命令显示swap空间为0,说明swapoff成功
dev@dev:~$ swapon -s
dev@dev:~$ free
              total        used        free      shared  buff/cache   available
Mem:         500192       35924      348888        2004      115380      433924
Swap:             0           0           0
 
#当然我们还需要修改/etc/fstab,否则下次重启后,系统又会重新挂载相应的swap分区和文件
#使用自己喜欢的编辑器,将/etc/fstab中跟swap相关的三行删掉即可(本例中是三行,请根据实际情况调整)

如何优化swap性能?

怎么配置swap可以让它的性能更好呢?

  • 尽量使用swap分区,相对于swap文件来说,分区肯定是连续的物理磁盘空间,而swap文件有可能不是

  • 将swap分区和系统所在的分区放在不同的磁盘上,这样就不会和系统盘抢同一个磁盘的I/O带宽

  • 如果有多块磁盘的话,可以在每个盘上创建一个swap分区,并且将它们的优先级设置的一样,这样内核就会平均的访问这些swap分区,性能相当于原来的N倍(这里N是磁盘的数量)

不过话又说回来了,如果频繁的访问swap的话,怎么优化swap都没用,跟内存比还是低几个数量级,性能还是下降的厉害,如果不频繁访问swap的话,优化swap又有啥意义呢?所以其实优化swap性能的实际意义不大,这里了解一下就好。

配置swappiness

有时我们桌面环境确实配置了比较充裕的内存,并且也配置了swap空间,这个时候就希望尽量减少swap空间的使用,避免对系统性能造成影响,Linux早就帮我们考虑到这种情况了,在2.6内核中,增加了一个叫做swappiness的参数,用于配置需要将内存中不常用的数据移到swap中去的紧迫程度。这个参数的取值范围是0~100,0告诉内核尽可能的不要将内存数据移到swap中,也即只有在迫不得已的情况下才这么做,而100告诉内核只要有可能,尽量的将内存中不常访问的数据移到swap中。

Ubuntu的desktop和server的默认配置都是60(可能会随着版本变化),对于桌面环境来说,界面的响应速度直接关系到系统的流畅程度,如果内存比较充裕的话,可以将这个值设置的小一点,这样就尽可能的把数据留在内存中,从而唤醒后台界面程序会更快一些,Ubuntu desktop建议将该值设置为10,当然大家可以根据swap空间的实际使用情况,任意调整这个参数,直到自己满意的水平为止。对于服务器来说,主要性能衡量标准是整体的处理能力,而不是具体某一次的响应速度,能把更多的内存用来做I/O cache可能效果更好,所以Ubuntu server建议保持60的默认值。

  • 查看当前系统中swappiness的值

dev@dev:~$ cat /proc/sys/vm/swappiness
60
  • 修改当前系统中swappiness的值

dev@dev:~$ sudo sysctl vm.swappiness=10
vm.swappiness = 10
dev@dev:~$ cat /proc/sys/vm/swappiness
10

上面通过sysctl修改的swappiness值在系统重启后会失效,要想重启后继续生效,需要修改配置文件/etc/sysctl.conf,将下面这行修改成10,如果文件中找不到这行的话,在文件末位加上这行就可以了

vm.swappiness=10
Linux:增大swap交换分区的空间 Linux:增大swap交换分区的空间 问题描述: 发现有一台64G的linux的电脑swap分区太小,只有8G,可能是当时安装系统的时候,没有手动指定。现在想增大linux的swap内存交换分区到64G,虽然磁盘速度不及内存的速度,读数据的时候做了缓存的话,速度还是会有些许提升的。 查看当前的swap分区空间大小 利用free -h命令 [root@master swapfile]# fre... 阅读详情

相关推荐

MR2数据集实战:5步搞定多模态谣言检测模型训练(附完整代码)

本文详细介绍了如何使用MR2多模态数据集构建高精度谣言检测系统,涵盖环境配置、数据准备、多模态特征工程、模型架构设计、训练调优及部署优化等5个关键步骤。通过双线性融合技术处理文本、图像和网页三模态数据,解决特征对齐和模态冲突等工程难题,并提供完整代码实现和性能优化方案。

weixin_42657024的博客 239

Linux swap 是否需要使用 以及 何时使用交换空间?

一、基础知识 SWAP就是LINUX下的虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间(也就是SWAP分区)虚拟成内存来使用.它和Windows系统的交换文件作用类似,但是它是一段连续的磁盘空间,并且对用户不可见。 需要注意的是,虽然这个SWAP分区能够作为"虚拟"的内存,但它的速度比物理内存可是慢多了,因此如果需要更快的速度的话,并不能寄厚望于SWAP,最好的...

ck784101777的博客 1万+

分析方法—temporal receptive field(TRF)

总结来说,时间感受野其实就是一个 filter!课程中的描述—.(使用时间感受野与刺激进行卷积来描述)时间感受野一般是听觉计算中使用的,在视觉中,有另一种分析叫做空间感受野(spatial receptive fields)。回归权重(Regression weights)是指在回归分析中用于估计自变量与因变量之间关系的权重或系数。回归分析是一种统计方法,用于建立自变量与因变量之间的关联模型,并通过拟合数据来估计模型中的参数。在简单线性回归中,只有一个自变量与一个因变量之间的关系被建模。

m0_51474171的博客 1602

Linux保姆级swap分区详解!手把手带你创建swap分区(两种方式,建议收藏)

保姆级swap分区详解!手把手带你创建swap分区(两种方式,建议收藏)涉及fdisk、gdisk、df、parted、partprobe、mkswap、swapon、free、dd、od等命令。

荷塘月色 4950

[STM32]HAL STM32F103 软件I2C读写MPU6050(附DMP库移植)

本文介绍了如何在STM32F103C8T6上通过I2C协议与MPU6050传感器通信并实现DMP功能。首先,使用STM32CubeMX配置项目,设置时钟和I2C接口。然后,编写软件I2C协议的读写函数与MPU6050交互。接着,移植DMP库并进行必要修改,获取加速度计和陀螺仪数据,并将其转换为欧拉角显示在OLED上。最后,利用Keil的逻辑分析仪监测I2C时序。

m0_56841583的博客 2321

使用Transformer实现自动调制识别(RML2018)

image_size = 1024 # resize重置输入大小patch_size = 16 # 从输入图片中将被提取的块大小# 分成 num_patches 个块num_patches = (image_size // patch_size) #(72/6)**2 横着裁剪),],return x})

QAQIknow的博客 1321

SWAP分区介绍和扩展

swap 分区是将磁盘当作内存使用,使得虚拟地址空间的范围大小可以超出物理内存的实际大小,在物理内存空间不足时,可以将物理内存中的一些不重要数据拷贝到磁盘的 swap 分区中,从而让出内存空间,并且在需要那些已被拷出数据时再从 swap 分区中拷回到内存。也就是说物理内存和缓存区内存不够用的时候,才会用到SWAP。

Christina 3157

STM32 HAL SDADC DMA

由于项目需要使用STM32F373单片机的SDADC功能对电位计进行检测,网上资料比较少,踩了很多坑,下面进行总结。

weixin_44597885的博客 1196

Linux创建交换分区

交换分区(SwapPartition)在Linux系统中是一种特殊的磁盘分区。它的主要功能是作为内存(RAM)的补充,当系统的物理内存(RandomAccessMemory)不够用的时候,操作系统会将一部分暂时不使用的内存数据移动到交换分区中,从而为当前正在运行的程序腾出物理内存空间。这就好比是一个备用的“仓库”,当主仓库(物理内存)装满时,可以把一些暂时不用的“货物”(数据)存放到备用仓库(交换分区)里。

weixin_40107423的博客 1929

【2026年华为暑期实习(AI)-4月22日-第三题- 网络异常流量传播链路溯源】(题目+思路+Java&C++&Python解析+在线测试)

本文提出了一种基于空间距离和流量负载的网络异常传播链检测方法。首先通过曼哈顿距离建立基站间的直接关联关系,形成无向图;然后计算各连通块的总负载,筛选出关键节点;最后在关键节点构成的有向无环图(DAG)中寻找用户数最大的传播路径。算法采用DFS/BFS识别连通块,并通过动态规划求解最长路径,时间复杂度为O(N^2)。该方法适用于监控网络中异常流量的定向传播分析,能有效识别高负载区域和最大影响路径。

m0_73659489的博客 187

【大模型应用开发-大模型知识】(二)大模型分类和常见大模型

目前包含 Claude 和 Claude-Instant 两种模型可供选择,其中 Claude Instant 的延迟更低,性能略差,价格比完全体的 Claude-v1 要便宜,两个模型的上下文窗口都是 9000 个token(约 5000 个单词,或 15 页)它的目标是“更安全”、“危害更小”的人工智能。Google 还开发了多种 PaLM 的改进版本。更强大的基础模型: ChatGLM3-6B 的基础模型 ChatGLM3-6B-Base 采用了更多样的训练数据、更充分的训练步数和更合理的训练策略。

1万+

Linux SWAP交换分区详解教程

SWAP空间是硬盘上的一部分空间,被用作虚拟内存。当系统的物理内存(RAM)不足以容纳当前所有程序时,系统会将部分内存数据移动到SWAP空间,以便为其他程序腾出空间。虽然使用SWAP会降低系统性能,因为它涉及到磁盘I/O操作,但在内存不足的情况下,SWAP是必不可少的。

广阔天地,大有作为 1706

5步VS传统WinForm!AntdUI让界面设计从“土味”到“超模”只需30秒?

摘要:墨瑾轩编程教程《AntdUI的5大魔法步骤》详解如何将传统WinForm升级为现代化UI。教程通过5个核心步骤:安装AntdUI库、控件替换、主题定制、复杂布局构建及实战案例演示,对比传统开发与AntdUI在美观度(动态阴影/动画)、开发效率(拖拽组件VS手工绘制)和主题定制(一键换肤VS重写控件)的显著差异。使用C#代码示例展示按钮动画、3D翻转、聊天界面等特效实现,帮助开发者快速掌握这一基于Ant Design风格的WinForm增强框架。(150字)

java专栏 1129

【Linux】swap交换分区管理

计算机运行一个程序首先会将外存(硬盘)中的数据读取到内存中,而 CPU 则从内存中读取数据并根据指令运行相应的程序。其中读写速度(速度不匹配):CPU > 内存 > 硬盘。我们通过引入 swap 交换分区可以缓解 内存与外存之间的读取数据的速度问题。swap 交换分区的物理实体是通过占用一部分外存的存储空间实现的。通过 swap 交换分区技术实现内存从外存的读取速度接近于内存的读取速度(远高于外存)。我们可以将 swap 交换分区理解为缓冲的桥梁,从而缓解了速度不匹配的矛盾。

大家好,我是敖云岚,一个沉迷代码的 “技术玩家”。擅长 Java、C++ 开发,对 MySQL、Redis、RabbitMQ 等技术也颇有研究。博客里既有硬核技术干货,也有诙谐幽默的编程日常分享。愿和你一起,笑着学技术,快乐敲代码! 2184

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Linux之SWAP交换分区详解、创建、管理

计算机运行一个程序首先会将外存(硬盘)中的数据读取到内存中,而 CPU 则从内存中读取数据并根据指令运行相应的程序。其中读写速度(速度不匹配):CPU > 内存 > 硬盘。我们通过引入 swap 交换分区可以缓解 内存与外存之间的读取数据的速度问题。swap 交换分区的物理实体是通过占用一部分外存的存储空间实现的。通过 swap 交换分区技术实现内存从外存的读取速度接近于内存的读取速度(远高于外存)。我们可以将 swap 交换分区理解为缓冲的桥梁,从而缓解了速度不匹配的矛盾。

weixin_45734905的博客 954

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Linux系统调整swap交换分区

近期,给用户安装数据库软件时提示“检查交换空间: 可用的交换空间为 0 MB, 所需的交换空间为 150 MB。未通过”。检查交换分区时发现swap交换分区过小,剩余可用空间为0。就在搭建虚拟机环境,测试swap交换分区的调整。Swap(交换空间)是一种操作系统的内存管理技术,用于扩展系统的可用内存。它的由来可以追溯到早期的计算机系统,特别是那些内存较小的系统。早期计算机的内存容量非常有限,而且往往不能满足程序运行所需的内存空间。

qq_41557475的博客 4895

linux中交换分区,linux中的交换分区(swap)及优化

SWAP(交换内存)1、什么是交换内存?在硬盘上创建一块区域,当你的物理内存快要被用光的时候,内核临时的物理内存上的文件数据交换到硬盘上的这段区域上面,当物理内存有闲置的时候在把交换内存上的数据调回到物理内存上的。可能在大多数时候,你会发现你的交换内存没有被用到,为什么我们的系统在安装的时候强制我们要建立交换内存?牺牲一定的硬盘空间,给操作系统买份保险!2、创建交换内存:创建的步骤:1、创建新分...

weixin_34651473的博客 1011

Linux 系统添加 Swap 交换分区

Linux 系统添加 Swap 交换分区 简介 Linux 系统中的 Swap 分区,即交换分区,类似于 Windows 的虚拟内存,其作用可简单的描述为:当系统的物理内存不够用的时候,将暂时不用的数据存放到交换空间所在的硬盘上,从而可以腾出内存来让别的程序运行。 在这里不讨论直接划出一部分硬盘作为交换分区的情况,只介绍通过添加 Swap 文件来设置交换分区的方式。 添加 Swap 分区 随便进入一个目录用于后续存放 Swap 文件,也可以直接放在根目录,这里放在/var...

一扣解千愁的博客 1029

Linux中的SWAP交换分区

大多数 Linux 在系统安装时都会提醒并建议你划分一个 SWAP 交换分区,如果你是从 Windows 切换到 Linux 的新用户,兴许对这个 SWAP 会感到十分疑惑。 SWAP 交换分区到底是干什么用的呢?我们是否真的需要划一个 SWAP 分区呢?答案是:视情况而定!SWAP 分区在一些情况下可以提升 Linux 操作系统性能,但在某些情况下又会成为系统运行的瓶颈,下面我们就来详细介绍下

searchwang的专栏 681

Linux下增加交换分区的大小,Linux 扩展(增加) swap 交换分区

介绍swap 就是 Linux 下的虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间(也就是 swap 交换分区,需要提前创建)虚拟成内存来使用。具体步骤查看当前的 swap 分区大小[root@xxx /]# free -htotal used free shared buff/cache availableMem: 991...

weixin_31154627的博客 922

Linux Swap交换分区介绍总结

Linux Swap交换分区介绍总结 Linux Swap交...

小麦苗DBA宝典 575

Linux中添加、删除Swap交换分区的方法

Linux中添加、删除Swap交换分区的方法 Swap空间的作用是当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。这篇文章主要给大家介绍了关于Centos7中添加、删除Swap交换分区的相关资料,以及Centos7下增加swap分区大小的方法,需要的朋友可以参考下。 Swap介绍: Linux 将物理内存分为内存段,叫做页面。交换是指内存页面被复制到预...

宗辉.AimS 3266

LInux交换分区(Swap)

作用: ‘提升‘ 内存的容量,防止OOM(Out Of Memory)现象是当内存不够的时候内核会随机杀死进程,它认为占用内存多的进程。(内核会先删除占用内存多的进程).如何制作交换分区?#我们可以将硬盘空间拿来当作内存来用什么时候用到交换分区?#当物理内存不够用的时候使用swap分区,防止物理内存耗尽swap分区大小设置规则----一般为内存大小的1.5倍~2倍。

m0_58240820的博客 718

[Linux]磁盘分区及swap交换空间

可支持4个以上的主分区,最大支持18EB的容量(1 EB = 1024 PB = 1024 x 1024 TB)计算机容量单位:一般用B,KB,MB,GB,TB,PB,EB,ZB,YB,BB来表示。1ZB (Zettabyte 十万亿亿字节 泽字节)= 1024 EB,1YB (Yottabyte 一亿亿亿字节 尧字节)= 1024 ZB,1PB (Petabyte 千万亿字节 拍字节)=1024TB,1EB (Exabyte 百亿亿字节 艾字节)=1024PB,* 突破固定大小64字节的分区表限制。

qq_45585805的博客 1196

linux 交换分区(Swap)

linux 交换分区(Swap)

tangzhangyin的专栏 1064
上一篇: VMware虚拟机启动后出现黑屏解决方案
下一篇: lvm磁盘扩容 不重启
糖果剑客
博客等级 码龄6年 97粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值