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内核无法更好处理,那么不活跃文件内存保留在缓存中。如果数据丢弃也不会有影响。
相关文章
- 一台老的PHP后台服务器,今天用 free -m 查看,发现内存跑满了。再 top,然后按下shift+m,也就是按内存占用百分比排序,发现排在第一的进程,才占用0.9%,那是什么占用的2016-11-22
- centos7怎么查看cpu内存等系统性能参数?对centos系统不是很熟悉,想看看电脑的一些参数,该怎么查看呢?下面我们就来看看详细的查看教程,需要的朋友可以参考下2016-08-30
- 这篇文章主要介绍了在低内存的情况下安装CentOS系统的技巧,有些跑不起Windows的古董级电脑不妨直接安装带图形化界面的CentOS,还有利于编程学习~需要的朋友可以参考下2015-06-30
- 很多朋友对CentOS系统基础优化不太了解,下面小编为大家带来了关于CentOS系统基础优化知识汇总;希望对大家会有帮助2016-11-01
- 很多朋友还不知道优化centos远程SSH连接的方法;下面小编为大家带来了优化centos远程SSH连接的图文教程!一起去看看吧2016-11-01
centos中netspeeder网络加速/优化器的安装方法
NetSpeeder 是一个网络加速软件了,net-speeder这个也就是跟锐速差不多的一个TCP加速的软件,他没有锐速那么严格的要求,相对还是蛮不错的,具体还是自己尝试把2015-03-06- 这篇文章主要介绍了CentOS VPS入手后的基本优化和安全配置,本文涉及升级防火墙策略、删除不用的应用、清理不需要的用户和用户组、更改时区等方面,需要的朋友可以参考下2014-12-30
- 这篇文章为大家介绍下通过调整系统参数来提高系统内存、CPU、内核资源的占用,通过禁用不必要的服务、端口,来提高系统的安全性,更好的发挥系统的可用性。通过自己对Linux2014-03-18
- 这篇文章主要介绍了CentOS系统中rpm包管理器的使用技巧,同时也适用于Fedora等其他的RedHat系的Linux系统,需要的朋友可以参考下2015-11-30
- 你知道你使用的CentOS是哪个版本的吗?下面小编就给大家介绍下查看CentOS版本信息的方法,感兴趣的朋友可以看看哦2015-01-19


最新评论