当前位置:首页 > 内存 > 正文

centos释放内存(centos7 查询内存型号)

  • 内存
  • 2024-06-26 11:33:42
  • 9305

一、Centos内存使用与优化技巧Linux服务器将实际内存和虚拟内存分配给处理器,并通过交换来管理内存使用情况。了解Linux内存类型以及处理器如何共享内存可以帮助您优化内存使用。
要从Linux内核引导程序执行过程中分配内存,需要总虚拟内存。Linux上的虚拟内存是无限的,处理器可以在启动时分配内存。Linux内核映射可以通过交换将虚拟内存分配到实际内存。
与Windows不同,内存交换会减慢程序速度,Linux内存交换是有利的,这要归功于Linux分析进程分配的内存页面使用情况的方式。Linux内核运行一种最近使用的算法来确定哪些内存页面应该进入RAM,哪些不应该进入RAM。在某些情况下,加速Linux内核交换可以提高内存性能。
程序进程通常需要比实际需要更多的虚拟内存。在Linux的高级程序中,虚拟内存需求发生在VIRT卷和常驻内存(RAA)上。当进程开始使用分配的内存页面执行某些操作,该页面将移至RAM并显示为RSS。Linux内核内存使用情况监控允许管理员仅保留经常使用的内存页面。很少使用的登录页面可以被内核或交换区丢弃。
Linux服务器上的进程使用匿名内存,即与代码和数据相关的文件内存。匿名内存必须直接可用,因此如果内存资源面临压力,则应交换出标记为匿名内存的页面。
数据存储是另一回事。当进程从磁盘读取数据时,会将数据存储在缓存中,以便进程在下次需要时快速提供数据。在内存压力下,内核可能会丢弃数据内存。将未使用的文件内存移至交换区不会带来性能优势,删除是更好的选择。
当您决定丢弃或交换内存时,Linux内核会区分活动内存和非活动内存。如果最近没有使用过不活动内存,那么将其移至交换区或直接丢弃它显然没有什么坏处。/proc/meminfo文件显示了匿名内存和文件内存的活动内存和非活动内存之间的差异,如下图1所示。
图1:Linux内核活动内存和非活动内存的区别
[root@IAD~]#less/proc/meminfo
MemTotal:7971636kB
MemFree:2653648kB
缓冲区:250868kB
缓存:2974052kB
交换缓存:0kB
活动:2530380kB
非活动:2323604kB
活动(匿名):1633532kB
非活动(匿名):125712kB
活动(文件):896848kB
非活动(文件):2197892kB
不可避免:0kB
Mlocked:0kB
交换总计:10059772kB
SwapFree:10059772kB
脏:132kB
回写:0kB
AnonPages:1629052kB
映射:162396kB
Shmem:130192kB
Slab:296332kB
SReclaimable:233344kB
SUnreclaim:62988kB
在此示例中,存在大量活动匿名存储和少量非活动匿名存储。如果系统面临内存压力,内核会将125MB的非活动匿名内存移至交换区。标记为活动页内存的1.6GB内存不应该被交换,因为内存页经常需要在RAM和磁盘之间移动,从而降低性能。如果交换的内存量大于空闲(匿名)内存,则应添加更多RAM来优化Linux内存页。
对于理想的Linux内存页面,实际使用的交换总量不应超过不活动(匿名)内存页面的数量。活动(文件)内存量等于内核所需的高速缓存内存量。否则,服务器性能无法提升。
当内核需要更多内存时,标记为不活动的文件的内存将被丢弃。由于Linux内核无法更好地处理它,因此不活动文件的内存仍保留在缓存中。如果删除数据,不会有任何影响。
二、Centos修改swappiness

swappines是一个Linux内核参数,用于控制系统执行交换时内存使用的相对权重。
那么,系统在执行替换时会做什么呢?

在Linux系统中,当物理内存不足时,系统会使用指定部分的硬盘空间作为交换分区,以解决内存不足的问题。
当进程向系统请求内存并发现内存不足时,系统会从内存中转储暂时未使用的数据并将其放置在交换分区中。这个过程称为交换。
当进程需要这些数据并且系统检测到有空闲的物理内存时,它将数据从交换分区交换回物理内存。这个过程称为交换。
当然,交换大小是有上限的。一旦swap用完,操作系统就会运行OOM-Killer机制来杀死消耗内存最多的进程以释放内存。
您可以理解为系统在硬盘上创建了一个交换分区。当内存不够的时候,这部分硬盘就作为内存使用。

swappiness参数的值可以设置为0到100。
该参数的值越低,Linux系统将使用更少的交换分区和更多的内存;该值越高,则会发生相反的情况,导致内核使用更多的交换空间。
CentOS系统上该设置的默认值为30,这意味着当内存使用率超过70%时,系统开始使用交换分区。
这里CDH建议swap值为10,这意味着当内存使用率超过90%时,系统开始使用swap分区。

暂时更改,当前系统swap为10,但重启后,系统swap继续恢复为默认值。

此方法允许您永久更改交换分区。

上一篇:cmd释放内存

下一篇:centos释放内存命令