关注分享主机优惠活动
国内外VPS云服务器

linux mem是什么意思?

今天主机频道就和大家分享一下关于linux mem指的是什么的相关知识点。内容详实,逻辑清晰。我相信大部分人还是太了解这些知识了,所以我把这篇文章分享给大家,供大家参考。希望你看完这篇文章有所收获。让我们一起来看看吧。

在linux中,mem指的是物理内存,是通过安装内存芯片获得的临时存储空间。它的主要功能是在计算机运行时为操作系统和各种程序提供临时存储。linux系统的物理内存被分成许多大小相同的部分,这些部分也称为内存页。内存页面的大小取决于CPU的架构和操作系统的配置,一般为4KB。

什么是linux mem?

Mem是物理内存,指的是通过安装内存条获得的临时存储空间。主要功能是在计算机运行时,为操作系统和各种程序提供临时存储。

当物理内存即将溢出时,内存中不常用的内存将被转移到swap,直到物理内存空闲,SWAP的内存处于活动状态。

Free -mmem:表示物理内存统计信息。

Buff/cache:表示物理内存的缓存统计信息。

Swap:表示硬盘上交换分区的使用情况。

系统中当前可用的内存在第一行没有标记为空闲,它仅表示未分配的内存。

linux mem指的是什么

系统的物理内存被分成许多大小相同的部分,也称为内存页面。内存页面的大小取决于CPU的架构和操作系统的配置,一般为4KB。物理内存的使用主要分为以下几个方面:

(1)内核使用

当操作系统启动时,位于/boot目录中的压缩内核文件将被加载到内存中并被解压缩。这部分内容在系统许可期间会一直停留在内存的开头。

(2)板坯分配器

操作系统的运行也需要更多的空间来分配给管理进程、文件描述符、套接字和加载的内部和模块。所以内核会通过slab分配器动态分配内存。

PS: Slab是Linux操作系统的一种内存分配机制。它的工作是针对一些频繁分配和释放的对象,比如进程描述符,这些对象一般都比较小。如果直接使用brk系统调用进行分配和释放,不仅会造成大量碎片,还会影响性能。Slab allocator是基于对象进行管理的,相同类型的对象归入一类(比如流程描述符)。每当应用这样的对象时,slab allocator都会从slab列表中分配一个这样大小的单元,当它被释放时,会被重新保存在列表中,而不是直接返回给操作系统,从而避免了内存碎片。Slab allocator不会丢弃已分配的对象,而是将它们释放并保存在内存中。以后请求新对象时,可以直接从内存中获取,无需重复初始化。您可以在/proc/meminfo中检查当前slab分配器的内存大小。

linux mem指的是什么

(3)流程使用

除了内核使用的部分之外,所有进程都需要为它们的代码、数据和堆栈分配物理内存页面。进程消耗的这些物理内存称为“常驻内存”,RSS。

(4)页面缓存页面缓存

除了内核和进程使用的部分,其余的物理内存称为页面缓存。因为磁盘io的速度远低于内存访问的速度,为了加快访问磁盘数据的速度,页面缓存尽可能的存储从磁盘读取的数据。还有一部分页面缓存叫做buffer,用来缓存要写入磁盘的数据。

页面缓存的大小总是动态变化的。当系统内存足够时,页面缓存总是会增加;当系统的空闲内存不足时,如果一个进程申请内存,操作系统将从页面缓存中回收内存页面进行分配。如果页面缓存也不足,系统会将当前时段内存中驻留的数据替换到磁盘上预先配置的交换空间中,然后腾出的内存可用于分配。这是互换交易。

PS:swap发生时,数据被换入交换空间(swap out)后,进程使用的内存量减少,atop等监控工具中的RGROW列为负,但这并不意味着进程释放内存,这部分数据在需要时会被换入内存(swap in)。另外,swap往往会带来大量的磁盘io消耗,严重影响系统正常的磁盘IO。大量swap的出现,说明系统正在走向死亡,需要引起重视。

查看Linux物理内存的方法

方法1:使用free命令

Free显示系统中空闲和已用物理内存和交换内存的总量,以及内核使用的缓冲区和缓存。它通过解析/proc/meminfo来收集信息。

推荐阅读:free——Linux系统中检查内存使用统计数据(空闲和已用)的标准命令。

$ free -m
可用的已用空闲共享缓冲区/高速缓存总量
记忆:1993 1681 82 81 228 153
互换:12689 1213 11475
免费-g美元
可用的已用空闲共享缓冲区/高速缓存总量
记忆:1 1 0 0 0 0
swap:12111方法2:使用/proc/meminfo文件。

/proc/meminfo是一个虚拟文本文件,里面包含了很多关于系统RAM使用的有价值的信息。

它报告系统上的空闲和已用内存量(物理和交换)。

$ grep MemTotal /proc/meminfo
内存总量:2041396 kB
$ grep mem total/proc/meminfo | awk & # 39;{打印$ 2/1024 } & # 39;
1993.55
$ grep mem total/proc/meminfo | awk & # 39;{打印$ 2/1024/1024 } & # 39;
1.94683方法3:使用top命令。

Top命令是Linux中监控实时系统进程的基本命令之一。它显示系统信息和运行进程信息,如正常运行时间、平均负载、运行任务、登录用户数、CPU数和CPU利用率,以及内存和exchange信息。运行top命令,然后按e键以MB为单位显示内存利用率。

推荐阅读:监控服务器性能的顶级命令示例

$ top
前14名:38:36上升1:59,1个用户,平均负载:1.83,1.60,1.52
任务:总共223,2运行,221睡觉,0停止,0僵尸
Cpu百分比:48.6美国,11.2 sy,0.0 ni,39.3 id,0.3 wa,0.0 hi,0.5 si,0.0 st
MiB内存:总计1993.551,94.184可用,1647.367已用,252.000缓冲区/高速缓存
MiB交换:总计12689.58+个,空闲11196.83+个,已用1492.750个。306.465可用内存
PID用户PR NI VIRT RES SHR S %CPU %MEM时间+命令
9908 day geek 20 0 2971440 649324 39700S 55.8 31.8 11:45.74网页内容
21942 day geek 20 0 2013 760 308700 69272S 35.0 15.1 4:13.75网页内容
4782 day geek 20 0 3687116 227336 39156 r 14.5 11.1 16:47.45 gnome-shell方法-4:使用vmstat命令。

Vmstat是一个漂亮的标准工具,报告Linux系统的虚拟内存统计。Vmstat报告有关进程、内存、分页、块IO、陷阱和CPU活动的信息。它帮助Linux管理员在排除故障时识别系统瓶颈。

推荐阅读:vmstat——报告虚拟内存统计数据的标准而漂亮的工具。

$ vmstat-s | grep & quot;总内存& quot
2041396 K总内存

$ vmstat-S-S M | egrep-ie & # 39;总内存& # 39;
1993 M总内存
$ vmstat-s | awk & # 39;{ print $ 1/1024/1024 } & # 39;| head -1
1.94683方法5:使用nmon命令。

Nmon是另一个很棒的工具,可以监控Linux终端上的各种系统资源,比如CPU、内存、网络、磁盘、文件系统、NFS、top进程、电源和资源的微分区(Linux版本和处理器)。

只需按M键即可查看内存利用率统计数据(缓存、活动、非活动、缓冲、空闲,单位为MB和百分比)。

推荐阅读:nmon——Linux中监视系统资源的漂亮工具。

┌nmon─14g──────

未经允许不得转载:主机频道 » linux mem是什么意思?

评论 抢沙发

评论前必须登录!