服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|

Centos内存使用与优化技巧

2019-07-03 15:54服务器之家 Centos

今天小编为大家带来的是Centos内存使用与优化技巧;希望对大家学习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内核无法更好处理,那么不活跃文件内存保留在缓存中。如果数据丢弃也不会有影响。

延伸 · 阅读

精彩推荐
  • CentosCentos 6.4 安装dnsmasq的方法

    Centos 6.4 安装dnsmasq的方法

    这篇文章主要介绍了Centos 6.4 安装dnsmasq的方法,需要的朋友可以参考下...

    Centos之家4602019-05-31
  • CentosCentOS下SWAP分区建立及释放内存详解

    CentOS下SWAP分区建立及释放内存详解

    今天小编为大家带来的是CentOS下SWAP分区建立及释放内存详解;有需要的朋友可以过来看看,希望可以帮助到大家...

    centos之家3422019-06-28
  • CentosCentos启动时不启动桌面服务怎么解决?

    Centos启动时不启动桌面服务怎么解决?

    一些朋友在问Centos启动时不启动桌面服务怎么解决?今天小编将为大家带来Centos启动时不启动桌面服务的解决方法,希望能够帮助到大家,有需要的朋友一起去看看吧...

    Centos之家4662019-06-07
  • CentosRHEL配置Centos yum源的方法

    RHEL配置Centos yum源的方法

    RHEL的yum在线更新是收费的;没有注册不能在线安装软件;这种情况该怎么办呢?我们可以借助CentOS的YUM源来满足我们的需求。下面小编将为大家带来RHEL配置Centos yum源的方法;有需要的朋友一起去看看吧...

    脚本之家1832019-06-11
  • CentosCentos yum源更换为国内的阿里云镜像源的方法

    Centos yum源更换为国内的阿里云镜像源的方法

    阿里云 是最近新出的一个镜像源。得益于阿里云的高速发展,这么大的需求,肯定会推出自己的镜像源。 阿里云Linux安装镜像源地址: http://mirrors.aliyun.com/ CentOS系统更换软件安装源 第一步:备份你的原镜像文件,以免出错后可以...

    未知1032019-05-20
  • CentosCentOS 清屏命令clear的讲解

    CentOS 清屏命令clear的讲解

    今天小编为大家带来CentOS 清屏命令clear的讲解;希望可以帮助到大家,有需要的朋友一起去看看吧...

    网络3492019-07-02
  • CentosCentos下限制SSH登录次数详解

    Centos下限制SSH登录次数详解

    今天小编为大家带来的是Centos下限制SSH登录次数详解;希望可以帮助到大家,有需要的朋友一起去看看吧...

    Centos之家2192019-06-29
  • CentosCentOS6.5启动界面的更改的方法

    CentOS6.5启动界面的更改的方法

    一些朋友不知道CentOS6.5启动界面如何更改?今天小编为大家带来的是CentOS6.5启动界面的更改的方法;希望对大家会有帮助,有需要的朋友一起去看看吧...

    CentOS之家3722019-06-14