0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

分析Linux操作系统的内存

电子工程师 来源:网络整理 2021-03-31 16:43 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前言:在Linux上不像在Windows上看内存那样方便,而且还有Swap这个新的概念,所以知道如何来看Linux内存还是有一定意义的。

在Linux下查看内存我们一般用command free

[[email protected] ~]# free

total used free shared buffers cached

Mem: 386024 377116 8908 0 21280 155468

-/+ buffers/cache: 200368 185656

Swap: 393552 0 393552

下面是对这些数值的解释:

第二行(mem):

total:总计物理内存的大小。

used:已使用多大。

free:可用有多少。

Shared:多个进程共享的内存总额。

Buffers/cached:磁盘缓存的大小。

第三行(-/+ buffers/cached):

used:已使用多大。

free:可用有多少。

第四行就不多解释了。

区别:

第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别。

这两个的区别在于使用的角度来看,第一行是从OS的角度来看,因为对于OS,buffers/cached 都是属于被使用,所以他的可用内存是8908KB,已用内存是377116KB,其中包括,内核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached.

第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。

所以从应用程序的角度来说,可用内存=系统free memory+buffers+cached.

如上例:

185656=8908+21280+155468

接下来解释什么时候内存会被交换,以及按什么方交换。

当可用内存少于额定值的时候,就会开会进行交换。

如何看额定值(RHEL4.0):

#cat /proc/meminfo

交换将通过三个途径来减少系统中使用的物理页面的个数:

1.减少缓冲与页面cache的大小,

2.将系统V类型的内存页面交换出去,

3.换出或者丢弃页面。(Application 占用的内存页,也就是物理内存不足)。

事实上,少量地使用swap是不是影响到系统性能的。

下面是buffers与cached的区别。

buffers是指用来给块设备做的缓冲大小,他只记录文件系统的metadata以及 tracking in-flight pages.

cached是用来给文件做缓冲。

那就是说:buffers是用来存储,目录里面有什么内容,权限等等。

而cached直接用来记忆我们打开的文件,如果你想知道他是不是真的生效,你可以试一下,先后执行两次命令#man X ,你就可以明显的感觉到第二次的开打的速度快很多。

实验:在一台没有什么应用的机器上做会看得比较明显。记得实验只能做一次,如果想多做请换一个文件名。

#free

#man X

#free

#man X

#free

你可以先后比较一下free后显示buffers的大小。

另一个实验:

#free

#ls /dev

#free

你比较一下两个的大小,当然这个buffers随时都在增加,但你有ls过的话,增加的速度会变得快,这个就是buffers ached的区别。

责任编辑:lq6

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    88

    文章

    11814

    浏览量

    219527
  • 磁盘缓存
    +关注

    关注

    0

    文章

    2

    浏览量

    5697
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Linux内核三大核心模块深度解析:调度、内存与I/O

    Linux内核作为操作系统的核心,其进程调度、内存管理和文件I/O三大模块共同决定了系统的性能与稳定性。无论是多核服务器的高并发处理,还是嵌入式设备的资源受限场景,深入理解这些底层机制
    的头像 发表于 03-12 09:00 229次阅读
    <b class='flag-5'>Linux</b>内核三大核心模块深度解析:调度、<b class='flag-5'>内存</b>与I/O

    【「Linux 设备驱动开发(第 2 版)」阅读体验】+读深入理解Linux内核内存分配

    管理的核心,它将内存组织成固定大小的逻辑单元,称为页。页大小是由MMU确定的,操作系统无法修改它。市面上处理器可支持多页大小的,常见的有4KB,16KB和64KB的页大小,操作系统可以决定使用哪种页大小
    发表于 01-16 20:05

    操作系统体系结构

    操作系统的体系结构是一个开放的问题。正如上文所述,操作系统在核心态为应用程序提供公共的服务,那么操作系统在核心态应该提供什么服务、怎样提供服务?有关这个问题的回答形成了两种主要的体系结构:大内核和微
    发表于 01-15 08:19

    操作系统的发展及分类

    ,就形成了多道批处理操作系统。该系统把用户提交的作业成批地送入计算机内存,然后由作业调度程序自动地选择作业运行。   优点是资源利用率高,多道程序共享计算机资源,从而使各种资源得到充分利用;
    发表于 01-15 08:00

    操作系统运行机制

    计算机系统中,通常CPU执行两种不同性质的程序:一种是操作系统内核程序;另一种是用户自编程序或系统外层的应用程序。对操作系统而言,这两种程序的作用不同,前者是后者的管理者,因此“管理程
    发表于 01-15 07:12

    Linux 已够强,国产操作系统为何仍要坚持?

    在中国做技术的人,或多或少都有过这样的疑问: “Linux 都这么成熟、这么好用了,国产操作系统还有必要搞吗?” 这不是少数人的困惑,而是整个行业几十年来反复讨论的问题。 但如果你深入工业、能源
    的头像 发表于 12-25 16:11 480次阅读

    EV10AS180A模数转换器支持哪些操作系统

    与这些硬件接口进行交互,从而实现对EV10AS180A的控制和数据读取。系统集成与应用场景:在将EV10AS180A集成到具体系统中时,用户可能会根据系统需求选择合适的操作系统(如
    发表于 11-18 09:18

    单片机的操作系统

    Linux网络协议栈和文件系统(如JFFS2),但实时性较弱,需外扩存储器。 ‌ ‌ VxWorks ‌:高效实时操作系统,广泛应用于通信、军事等领域,支持自定义硬件模块。 ‌ 其他选择 ‌ Keil
    发表于 11-14 06:18

    嵌入式实时操作系统的特点

    操作系统具备高效的中断处理机制,能够快速响应和处理系统的中断事件。 资源管理:实时嵌入式操作系统提供有效的资源管理机制,包括内存管理、设备驱动程序、文件
    发表于 11-13 06:30

    请问如何在e203中安装linux操作系统

    本人用的板子是Xilinx的XC7A100TFGG484-2L,编译软件是vivado2017.4。目前比特流已经成功生成,我已经把其固化进了板子中。现在的我想在我固化后的板子里面装一个linux操作系统,应该如何做?
    发表于 11-07 07:32

    Jtti Linux操作系统最常见的10大优势

    Linux操作系统的十大优势 Linux操作系统作为一种开源、自由的系统,已经广泛应用于个人计算机、服务器、嵌入式设备等多个领域。它的多样化
    的头像 发表于 11-06 15:32 448次阅读

    树莓派操作系统:版本、特性及设置完整指南!

    树莓派操作系统是什么?树莓派操作系统是由树莓派基金会专为树莓派开发的官方操作系统。它基于DebianLinux发行版,并针对树莓派的ARM架构进行了专门优化。树莓派操作系统有多个版本,
    的头像 发表于 07-28 18:26 1788次阅读
    树莓派<b class='flag-5'>操作系统</b>:版本、特性及设置完整指南!

    聚徽厂家解码——工控机操作系统选择:Windows、Linux、QNX 如何匹配工业场景

    在工业自动化进程不断推进的当下,工控机作为核心设备,其操作系统的恰当选择对工业生产的稳定性、高效性和安全性起着决定性作用。常见的 Windows、Linux 和 QNX 操作系统,各自具备独特
    的头像 发表于 05-29 16:28 1847次阅读

    鸿道Intewell操作系统:人形机器人底层操作系统

    操作系统的实时性赋能东土科技的鸿道(Intewell)工业操作系统作为国内唯一通过汽车、工业控制、医疗、轨道交通四项功能安全认证的系统,为标准体系中的技术层架构提供了底层支持。其微内核虚拟化架构可将人形机器人电子架构成本降低50
    的头像 发表于 05-16 14:44 953次阅读

    Linux主要的性能有哪些?

      什么是Linux?   Linux是一套自由传播的类Unix操作系统,是一个基于posix和unix的多用户、多任务、支持多线程和多cpu的操作系统。它的基本思想有两点,一切都是文
    的头像 发表于 04-30 18:09 763次阅读
    <b class='flag-5'>Linux</b>主要的性能有哪些?