温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Centos内存的使用以及优化技巧

发布时间:2021-08-13 22:57:42 来源:亿速云 阅读:170 作者:chen 栏目:系统运维

本篇内容介绍了“Centos内存的使用以及优化技巧”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Linux服务器分配真实与虚拟内存给处理器,通过交换管理内存使用率。明白Linux内存类型以及处理器如何共享内存有助于优化内存使用率。

从Linux内核start-up执行程序进程分配内存,需要虚拟内存总和。Linux上的虚拟内存是无限的,处理器在启动时就能分配内存。Linux内核映射通过交换能分配虚拟内存到实际内存。

与Windows不同,内存交换会让程序慢下来,Linux内存交换是有益的,这得感谢Linux分析进程所分配的内存页使用的方式。Linux内核运行最近使用算法,确定哪些内存页需要进入RAM哪些不需要。某些情况下,让Linux内核交换更快速能提升内存性能。

一个程序的进程通常需要比实际需求更多的虚拟内存。在Linux的顶级程序中,虚拟内存需求出现在VIRT与常驻内存(RAA)卷中。当进程开始使用分配给的内存页做事时,页面移到RAM,作为RSS显示。监控Linux内核内存使用率让管理员只保留这些频繁使用的内存页。不常使用的存取页可通过内核或交换丢弃。

Linux服务器上的进程使用匿名内存,与代码以及数据相关的文件内存。匿名内存必须直接可用,因此,如果内存资源有压力,标注为匿名内存的页就应该进行交换。

数据内存又是另一回事了。当一个进程从磁盘读数据时,保留在缓存中,允许在下次需要数据时进程快速提供数据。在内存压力下,内核可以丢弃数据内存。移动未使用的文件内存到交换是没有性能益处的,丢弃是个更好的选择。

在决定丢弃或交换内存时,Linux内核区分活跃与不活跃内存。如果不活跃的内存近期未用,那么将其移到交换或直接丢弃显然没有害处。/proc/meminfo文件显示匿名与文件内存的活跃与不活跃内存之间的差别,如下图1所示。

图1:来自Linux内核活跃内存与不活跃内存的差别

[root@IAD ~]# less /proc/meminfo

MemTotal: 7971636 kB

MemFree: 2653648 kB

Buffers: 250868 kB

Cached: 2974052 kB

SwapCached: 0 kB

Active: 2530380 kB

Inactive: 2323604 kB

Active(anon): 1633532 kB

Inactive(anon): 125712 kB

Active(file): 896848 kB

Inactive(file): 2197892 kB

Unevictable: 0 kB

Mlocked: 0 kB

SwapTotal: 10059772 kB

SwapFree: 10059772 kB

Dirty: 132 kB

Writeback: 0 kB

AnonPages: 1629052 kB

Mapped: 162396 kB

Shmem: 130192 kB

Slab: 296332 kB

SReclaimable: 233344 kB

SUnreclaim: 62988 kB

在这个例子中,有大量活跃的匿名内存,少量的不活跃匿名内存。如果系统处于内存压力下,内核将移动125MB的不活跃匿名内存到交换。不应该交换标志为活跃页内存的1.6GB内存,因为内存页经常需要在RAM与磁盘之间移动,这样就会降低性能。如果过交换的量大于不活跃(匿名)内存,你应该添加更多RAM优化Linux内存页。

对于理想的Linux内存页,实际使用的交换总量不应该多余不活跃(匿名)内存页的量。活跃(文件)内存的量等于内核所需的缓存内存的量。否则,就不能提升服务器性能。

当内核需要更多内存时,标志为不活跃的文件内存将被丢弃。由于Linux内核无法更好处理,那么不活跃文件内存保留在缓存中。如果数据丢弃也不会有影响。

“Centos内存的使用以及优化技巧”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI