社区编辑申请
注册/登录
使用服务器内存交换提升性能的三大场景
运维 服务器运维
让一台没有足够内存的服务器去加载应用,这会出现内存短缺的情况。服务器会在缓冲区显示相对有限的内存数量,相应地,交换空间也使用得多。最简单的方法就是添加更多内存。不过优化Linux内存交换也能提升性能。确保不活跃内存页尽早交换出去,为所需的内存页腾出空间。

Linux内核使用活跃与不活跃的内存系统管理服务器的内存资源。如果你的Linux服务器负载的资源过多,可能由几大原因引起:不足以加载应用的内存或者缓存了所有应该隐藏的文件,或者太严重依赖Linux内存交换。

那么可以基于Linux内存使用率***实践优化服务器,如将不活跃内存移到交换区。当然,在解决难题之前,每个独立的负载问题要求Linux内存分析。下面我们具体来看看一些场景及其解决方案。

内存空间不足而无法加载应用

让一台没有足够内存的服务器去加载应用,这会出现内存短缺的情况。服务器会在缓冲区显示相对有限的内存数量,相应地,交换空间也使用得多。最简单的方法就是添加更多内存。不过优化Linux内存交换也能提升性能。确保不活跃内存页尽早交换出去,为所需的内存页腾出空间。

如何让服务器开始快速交换?使用如下命令:echo 80 > /proc/sys/vm/swappiness。同时,使用下面语句:vm.swappiness = 80,将参数写入the /etc/systcl.conf file中。如果这还不能给你更多内存加载应用,那么就采取添加更多物理内存给服务器。

缓存文件时内存空间不足

如果你感觉缓存文件可能会出现内存不足的话,按照下面方法计算:如果可用缓存与缓存内存低于总RAM的30%,那么服务器可能遭遇内存不足。接下来检查/proc/meminfo的内容。如果不活跃(文件)内存总量明显高于缓存总量,那么服务器没有足够可用内存去缓存文件。在释放更多缓存时,首先查明是何种原因导致短缺。

如果Linux载入的程序要求太多内存的话,除了添加更多物理RAM内存别无他法。然而,使用内存的系统其它部分也可能导致缓存短缺。例如,将修改后的文件提交到磁盘可能需要很长时间。如果是这样,你会在投个程序中看到一个相对高的wa(等待I/O)参数,在/proc/meminfo会看见Dirty参数有个相对较高的值。如果是这样,修改磁盘性能是关键,能获得更好的内存性能。

内存交换用得太频繁

如果交换用得太多,vmstat监控工具会显示高si与so(换进与换出)动作。交换空间几乎填满,服务器可能的免费内存很低。

为了优化Linux内存,首先调查交换频繁的根源。通常,如果只有不活跃内存在交换区,那就不该有压力。在/proc/meminfo中,看交换量是否用得比不活跃内存的量还多。如果是,活跃内存页交换得很好,就算Linux内核需要经常访问活跃内存页。系统需要更多物理内存。

如果交换处于压力下,并分配了大量缓存,通过增加swappiness参数,可在服务器上减轻内存负载。更高的swappiness值让内核更快将内存页放到磁盘,减轻来自缓存的压力,让活跃内存得到更多可用内存。

更高的swappiness参数实际上降低了磁盘震荡,震荡通常由页频繁地换入换出而引起。增加的swappiness只是确保页移到应该待的交换区,使得服务器上的交换动作缓慢下来。不过要实现这样的目的,需要为服务器添加更多交换区。

责任编辑:路途 来源: TechTarget中国
相关推荐

2022-02-16 14:10:51

服务器性能优化Linux

2021-01-27 08:16:47

服务器内存池高性能

2022-02-14 12:00:55

2022-01-28 15:44:00

2021-11-29 11:13:45

2021-01-13 05:27:02

服务器性能高并发

2013-06-26 09:42:25

技术服务器内存虚拟化

2013-09-05 10:45:38

虚拟服务器存储性能IOPS

2018-04-02 10:12:30

2021-08-30 11:13:28

2019-07-30 10:51:22

2019-07-10 15:10:14

高性能服务器架构

2017-08-28 15:32:52

2011-09-05 09:58:02

服务器存储虚拟化

2017-09-27 10:21:26

数据中心交换机缓存

2010-01-14 10:15:40

交换机交换方式

2013-03-06 10:59:14

2014-02-20 13:36:35

业务服务管理 应用性能优化

2010-03-17 14:04:05

2010-03-18 13:35:20

编辑推荐

运维工作到底是做什么的?给1到10年运维人的修仙指南Windows下的几种提权方式的粗略汇总推荐 | 10款优秀的SQL Server服务器监控工具9款优秀网络,服务器和应用程序监控工具
我收藏的内容
点赞
收藏

51CTO技术栈公众号