内存与换页空间的相关探讨

内存与换页空间的探讨

2019年7月2日夜班,发现监控报数据中心内存使用率高达91%,由此引发出以下对内存以及换页空间相关问题的查询、处理的讨论。

一、首先要先解释什么是内存,什么是换页空间,它们的作用是什么,什么情况下需要做出什么样的处理方案。

内存:计算机中所有程序的运行都是在内存中运行的,CPU不能直接与硬盘进行交互,所以内存是CPU与磁盘沟通的桥梁,内存的运行决定了计算机的稳定运行。

换页空间:可以简单的理解为内存空间的扩展,它其实是将硬盘上读取速度最快的那一部分虚拟成内存,CPU在内存中无法命中的数据才会到换页空间中寻找。

对于二者的关系,我们可以这样去理解:有这样一个篮球场,假设这个篮球场只能容纳两个球队共10个人打球赛,我们就把这个球场总容纳量10人看作是内存,把其上的两方球队看作是两颗CPU在读取数据,现在又有第三个人想参加到球赛中,那么,此时第三个人就需要在球场外面等待,此时他所在的等待区就可以理解为换页空间,只有球场的位置空余出来(比如小明累了,换其他人替补),外面的才能进去,所以换页空间其实也可以看作是一个缓冲区。

二、内存到底是越高越好还是越低越好?

比如今天监控报警发现内存使用率已经达到91%,那么到底需不需要处理呢?我们得从以下几个方向去考虑。

第一点,首先要清楚一点,内存使用率高不一定不好,从理想的角度考虑,内存使用率越高,说明利用率越好,资源达到合理的分配,当然此种情况建立在内存还继续可用的情况下。比如一个运行稳定的计算程序,不做他用,只为固定量的计算而生,那么它的内存使用率当然越高些越好,从而达到资源利用率最大。但是要注意的是,在实际的生产环境中,以机场为例,当然是越低些越好,毕竟实际的生产环境下,要尽可能保留足够的内存才能保证系统的性能不会因为内存不够而受到影响。

第二点,内存达到了91%是不是需要立刻通知系统管理员进行处理呢?我的看法是要结合换页空间一起去看,综合起来之后再做决定。举个简单的例子:假设内存使用率已经达到99%,而换页空间的使用率也已经达到了30%左右,那么估计就要出大事了,系统出问题的几率极大。所以,我认为,一般来说内存使用率达到了90%,甚至是80%,我们就需要关注一下了,然后再查一查换页空间,如果SWAP的使用率在10%以内,可以持续关注,不用大惊小怪,如果在30%左右,必须采取相应的措施,通知到相应的管理员进行处理。

三、内存使用率过高如何处理

1、对相应进程所涉及的相关应用程序进行启停(不是杀进程)

2、扩充内存,或者更改虚拟内存的容量

3、重启服务器

4、杀进程

注意:之所以把“杀进程”放在最后,是因为本人不建议采用这种方法去释放内存,因为这样容易导致误操作。举个例子,如果你杀进程时杀掉了init进程,那么恭喜你你的机器挂掉了。所以我不提议采用第四种方法释放内存。

发布了19 篇原创文章 · 获赞 17 · 访问量 649

猜你喜欢

转载自blog.csdn.net/Gao068465/article/details/103704575