当前位置:首页 > 内存 > 正文

swap内存使用率过高

  • 内存
  • 2024-07-25 21:15:02
  • 9764

一、怎样解决win7备用内存占用高?

1.我们认为Win7的内存机制是这样的

当物理内存不够的时候,就使用虚拟内存。当物理内存足够时,不会向硬盘写入任何内容。

2其实Win7的内存机制是这样的

物理内存的40%左右。官方说法是,这个备份内存是可用内存不够用的。
所以,实际上,这个空闲内存实际上是与虚拟内存的交换。换句话说,它实际上是用于虚拟内存命中缓冲区,但不能被你实际运行的程序使用。
这就是为什么物理内存为8G的机器运行虚拟机很容易卡住的原因。
原因有两个方面:

a预留内存太大,仅起到命中缓冲区的作用。这样一来,实际可用内存只有物理内存的一半,这样系统就会过早地使用虚拟内存。

b虚拟内存和备用内存之间的数据交互导致大量的IO读写。本来现在PC的瓶颈就是机械硬盘。还有那么多物理内存没有被用来从机械硬盘上读写。也有很多人为微软辩护,称虚拟内存不会导致PC速度变慢。

3解决办法是关闭备份内存

实际上,备份内存并不能完全关闭,但是我们几乎可以关闭它。
预留内存由名为superfetch的服务提供。如果将其关闭,它可以将保留内存从大约减少。40%的物理内存为几百MB。
当然,需要同时卸载的还有IntelRapidStorage驱动程序,它与seperfatch有同样的效果,会拖慢你的系统速度。
下面三张图是superfetch服务,禁用前后的内存使用情况对比。


二、swap空间占用过高解决方案1.控制swap使用的系统参数:可交换性

如果swap因子太大(内存速度会比磁盘快很多),这样会增加系统IO,很多页进出会严重影响系统性能,所以在操作系统层面,我们需要使用尽可能多的内存来调整这个参数。

默认设置

1.设置

2.激活

如果上述方法不能解决问题或者机器内存消耗较大,则应增加内存并更换。它是相应地布置的。

所以添加交换空间不能超过1.9G

说明:/dev/zero也是一个虚拟文件,但实际上会生成连续的空流(二进制零流,不是ASCII类型)。写入其中的输出将丢失/dev/zero的主要用途是创建一个一定长度的空文件来初始化为临时交换文件。它可以用来创造改变。

3创建新的swap****分区空间

注意:创建的交换文件无法删除,所以必须事先找到目录。

说明:是文件名。Bs是单一尺寸。计数就是尺寸。我创建了一个1G的文件。****创建交换文件。

5、开机启动

以上操作暂时有效,服务器重启后将失效。所以你起床后需要做好准备。8.交换:vi/etc/fstab