导航:首页 > 编程系统 > linux页交换

linux页交换

发布时间:2023-09-07 13:43:59

linux设置开启swap交换分区基本命令(虚拟内存)

linux设置开启swap交换分区基本命令(虚拟内存)

在Linux系统下,我们要怎么开启swap交换分区,基本设置命令是什么呢?下面为大家带来最基本的配置命令,希望对大家有所帮助!

1.验证不存在交换分区free-m

输出如下:

Mem:99594747046142

-/+buffers/cache:758236

Swap:000

如果swap选项total是0则表示没有交换分区,开始下一步

2.创建swap分区

使用dd命令选择swap分区目录以及大小,在此我们给他放到根目录,创建的.是2G的虚拟内存,可以根据自己需要选择大小。ddif=/dev/zeroof=/swapfilecount=2048bs=1M

接下来验证根目录是否存在swapfilels/|grepswapfile

不出意外的话你将会看到swapfile

3.激活swap分区

交换分区不会自动激活,你需要告诉服务器如何格式化文件,使它作为一个有效的交换分区。

出于安全考虑,交交换区权限设置成600

chmod600/swapfile

使用mkswap命令来设置交换文件:mkswap/swapfile

4.开启swap分区swapon/swapfile

再次使用free-m查看内存使用情况,输出如下:

Mem:184017548616231519

-/+buffers/cache:2101630

Swap:204702047

5.设置允许开机启用swap分区sudovi/etc/fstab

在后面加上/swapfilenoneswapsw00

;

㈡ Linux内存机制(swap)

我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多,因此,我们希望所有数据的读取和写入都在内存完成,而内存是有限的,这样就引出了物理内存与虚拟内存的概念。

物理内存就是系统硬件提供的内存大小,是真正的内存,相对于物理内存,在linux下还有一个虚拟内存的概念,虚拟内存就是为了满足物理内存的不足而提出的策略,它是利用磁盘空间虚拟出的一块逻辑内存,用作虚拟内存的磁盘空间被称为交换空间(Swap Space)。

作为物理内存的扩展,linux会在物理内存不足时,使用交换分区的虚拟内存,更详细的说,就是内核会将暂时不用的内存块信息写到交换空间,这样以来,物理内存得到了释放,这块内存就可以用于其它目的,当需要用到原始的内容时,这些信息会被重新从交换空间读入物理内存。

Linux的内存管理采取的是分页存取机制,为了保证物理内存能得到充分的利用,内核会在适当的时候将物理内存中不经常使用的数据块自动交换到虚拟内存中,而将经常使用的信息保留到物理内存。

要深入了解linux内存运行机制,需要知道下面提到的几个方面:

Linux系统会不时的进行页面交换操作,以保持尽可能多的空闲物理内存,即使并没有什么事情需要内存,Linux也会交换出暂时不用的内存页面。这可以避免等待交换所需的时间。

Linux 进行页面交换是有条件的,不是所有页面在不用时都交换到虚拟内存,linux内核根据”最近最经常使用“算法,仅仅将一些不经常使用的页面文件交换到虚拟 内存,有时我们会看到这么一个现象:linux物理内存还有很多,但是交换空间也使用了很多。其实,这并不奇怪,例如,一个占用很大内存的进程运行时,需 要耗费很多内存资源,此时就会有一些不常用页面文件被交换到虚拟内存中,但后来这个占用很多内存资源的进程结束并释放了很多内存时,刚才被交换出去的页面 文件并不会自动的交换进物理内存,除非有这个必要,那么此刻系统物理内存就会空闲很多,同时交换空间也在被使用,就出现了刚才所说的现象了。关于这点,不 用担心什么,只要知道是怎么一回事就可以了。

交换空间的页面在使用时会首先被交换到物理内存,如果此时没有足够的物理内存来容纳这些页 面,它们又会被马上交换出去,如此以来,虚拟内存中可能没有足够空间来存储这些交换页面,最终会导致linux出现假死机、服务异常等问题,linux虽 然可以在一段时间内自行恢复,但是恢复后的系统已经基本不可用了。

因此,合理规划和设计Linux内存的使用,是非常重要的.

在Linux 操作系统中,当应用程序需要读取文件中的数据时,操作系统先分配一些内存,将数据从磁盘读入到这些内存中,然后再将数据分发给应用程序;当需要往文件中写 数据时,操作系统先分配内存接收用户数据,然后再将数据从内存写到磁盘上。然而,如果有大量数据需要从磁盘读取到内存或者由内存写入磁盘时,系统的读写性 能就变得非常低下,因为无论是从磁盘读数据,还是写数据到磁盘,都是一个很消耗时间和资源的过程,在这种情况下,Linux引入了buffers和 cached机制。

buffers与cached都是内存操作,用来保存系统曾经打开过的文件以及文件属性信息,这样当操作系统需要读取某些文件时,会首先在buffers 与cached内存区查找,如果找到,直接读出传送给应用程序,如果没有找到需要数据,才从磁盘读取,这就是操作系统的缓存机制,通过缓存,大大提高了操 作系统的性能。但buffers与cached缓冲的内容却是不同的。

buffers是用来缓冲块设备做的,它只记录文件系统的元数据(metadata)以及 tracking in-flight pages,而cached是用来给文件做缓冲。更通俗一点说:buffers主要用来存放目录里面有什么内容,文件的属性以及权限等等。而cached直接用来记忆我们打开过的文件和程序。

为了验证我们的结论是否正确,可以通过vi打开一个非常大的文件,看看cached的变化,然后再次vi这个文件,感觉一下两次打开的速度有何异同,是不是第二次打开的速度明显快于第一次呢?接着执行下面的命令:

find / -name .conf 看看buffers的值是否变化,然后重复执行find命令,看看两次显示速度有何不同。

上面这个60代表物理内存在使用40%的时候才会使用swap(参考网络资料:当剩余物理内存低于40%(40=100-60)时,开始使用交换空间) swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。

值越大表示越倾向于使用swap。可以设为0,这样做并不会禁止对swap的使用,只是最大限度地降低了使用swap的可能性。

通常情况下:swap分区设置建议是内存的两倍 (内存小于等于4G时),如果内存大于4G,swap只要比内存大就行。另外尽量的将swappiness调低,这样系统的性能会更好。

B. 修改swappiness参数

永久性修改:

立即生效,重启也可以生效。

一般系统是不会自动释放内存的 关键的配置文件/proc/sys/vm/drop_caches。这个文件中记录了缓存释放的参数,默认值为0,也就是不释放缓存。他的值可以为0~3之间的任意数字,代表着不同的含义:

0 – 不释放 1 – 释放页缓存 2 – 释放dentries和inodes 3 – 释放所有缓存

前提:首先要保证内存剩余要大于等于swap使用量,否则会宕机!根据内存机制,swap分区一旦释放,所有存放在swap分区的文件都会转存到物理内存上。通常通过重新挂载swap分区完成释放swap。
a.查看当前swap分区挂载在哪?b.关停这个分区 c.查看状态:d.查看swap分区是否关停,最下面一行显示全 e.将swap挂载到/dev/sda5上 f.查看挂载是否成功

㈢ 如何使用Linux服务器内存交换提升性能

常见三大服务器负载问题有内存空间不足而无法加载应用,缓存文件时内存空间不足和过于频繁地使用内存交换。解决这三类问题可以基于Linux内存使用率最佳实践优化服务器,如将不活跃内存移到交换区。当然,在解决难题之前,每个独立的负载问题要求Linux内存分析。下面就让我们分别看看这三大问题该如何解决。 内存空间不足而无法加载应用 让一台没有足够内存的服务器去加载应用,这会出现内存短缺的情况。服务器会在缓冲区显示相对有限的内存数量,相应地,交换空间也使用得多。最简单的方法就是添加更多内存。不过优化Linux内存交换也能提升性能。确保不活跃内存页尽早交换出去,为所需的内存页腾出空间。 缓存文件时内存空间不足 如果你感觉缓存文件可能会出现内存不足的话,按照下面方法计算:如果可用缓存与缓存内存低于总RAM的30%,那么服务器可能遭遇内存不足。接下来检查/proc/meminfo的内容。如果不活跃(文件)内存总量明显高于缓存总量,那么服务器没有足够可用内存去缓存文件。在释放更多缓存时,首先查明是何种原因导致短缺。 如果Linux载入的程序要求太多内存的话,除了添加更多物理RAM内存别无他法。然而,使用内存的系统其它部分也可能导致缓存短缺。例如,将修改后的文件提交到磁盘可能需要很长时间。如果是这样,你会在投个程序中看到一个相对高的wa(等待I/O)参数,在/proc/meminfo会看见Dirty参数有个相对较高的值。如果是这样,修改磁盘性能是关键,能获得更好的内存性能。 内存交换用得太频繁 如果交换用得太多,vmstat监控工具会显示高si与so(换进与换出)动作。交换空间几乎填满,服务器可能的免费内存很低。 为了优化Linux内存,首先调查交换频繁的根源。通常,如果只有不活跃内存在交换区,那就不该有压力。在/proc/meminfo中,看交换量是否用得比不活跃内存的量还多。如果是,活跃内存页交换得很好,就算Linux内核需要经常访问活跃内存页。系统需要更多物理内存。 如果交换处于压力下,并分配了大量缓存,通过增加swappiness参数,可在服务器上减轻内存负载。更高的swappiness值让内核更快将内存页放到磁盘,减轻来自缓存的压力,让活跃内存得到更多可用内存。 更高的swappiness参数实际上降低了磁盘震荡,震荡通常由页频繁地换入换出而引起。增加的swappiness只是确保页移到应该待的交换区,使得服务器上的交换动作缓慢下来。

㈣ 如何管理配置 Linux下Swap交换分区

理解什么是swap分区

Swap是Linux下的虚拟内存分区,他的主要作用是在物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,让当前的程序来使用,这些内存释放出来的空间没有什么操作的程序,这些释放的内存将被保存到swap空间中,等到这写程序在运行的时候,再从swap虚拟空间来读取这些程序给内存来使用。这样中是在系统内存不够用的时候,进行交换。在针对Linux web服务器的时候,调整swap能提高系统很大的性能。

现在操作系统都突破了物理内存的限制,让程序可以操作大于物理内存的空间,虚拟内存想防火墙一样,让每个进程不受其他程序的干扰。

我们需要注意的是不是所以的物理内存数据都会被交换到swap中的,要是所有的内存都放在swap中肯的是不可能的,所以有一部分直接交换到文件系统。当这文件读取的时候,直接从文件系统调用不从swap调用程序文件。

早期的时候经常看见说swap不能超过128M,现在我们的服务器一般不存在这种问题最大可以swap到2048M的.swap空间文件的结构是分页的每一页的大小和内存页的大小是一样的,这样的好处是方便swap空间和内存之间的交换,旧版本的Linux实现Swap空间时,用Swap空间的第一页作为所有Swap空间页的一个“位映射”。这就是说第一页的每一位,都对应着一页Swap空间。如果这一位是1,表示此页Swap可用;如果是0,表示此页是坏块,不能使用。这么说来,第一个Swap映射位应该是0,因为,第一页Swap是映射页。

所以取消了Linux映射的方法。

一般创建swap有两种方法

第一种方法是在创建系统的时候添加swap分区

还有一种是在系统创建完之后再创建swap分区,或者创建临时的swap。我们需要注意的是,在创建系统的时候我们没有swap分区也是能正常安装部署系统的,只是当系统文件调用swa文件的的时候会发生错误,所以我们需要swap不是没有swap不一定能启动起来系统。

查看当前swap资源的使用情况:

Swapon –s free –m

㈤ 如何把windows页面文件作为linux交换文件使用

回复
4#
有个好方法,写个脚本,加入开机运行程序里面,我上次试过,好像在脚本里面可以使用诸如sudo之类的提权命令。

阅读全文

与linux页交换相关的资料

热点内容
s7数据开关在哪里 浏览:361
gvim如何调出文件目录 浏览:587
藏建通在什么网站下载 浏览:323
手机qq怎么改群的名字 浏览:574
美术类的论文主要发表在哪个网站 浏览:8
nodejs6await作用域 浏览:386
editplus调试js文件 浏览:827
电脑数据的u是什么意思 浏览:718
电子照片怎么弄成压缩文件 浏览:285
苹果推送电信运营商配置文件 浏览:748
受精24天数据在多少 浏览:502
计算机网络第二章习题 浏览:821
怎么把pdf文件里的字复制到word 浏览:255
健走app哪个轨迹最准 浏览:650
win10手机系统转安卓系统软件 浏览:313
哪个银行app能代缴违停罚款 浏览:555
苹果导出微信文件 浏览:518
win10宽带拨号连接720 浏览:219
数控车床步进编程怎么调整参数 浏览:916
芒果app在哪里下载 浏览:970

友情链接