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
    +关注

    关注

    87

    文章

    11219

    浏览量

    208879
  • 磁盘缓存
    +关注

    关注

    0

    文章

    2

    浏览量

    5557
收藏 人收藏

    评论

    相关推荐

    linux是实时系统还是分时操作系统

    大家平时玩单片机基本上对于µC/OS、FreeRTOS、ThreadX这些操作系统非常熟悉了,他们都属于实时操作系统(RTOS),在工业领域比较广泛;然而对于linux这样的基于时间片划分的非实时
    的头像 发表于 11-11 11:43 291次阅读

    嵌入式 Linux 操作系统配置

    随着物联网(IoT)和智能设备的快速发展,嵌入式系统在各个领域扮演着越来越重要的角色。Linux因其开源、灵活和稳定的特性,成为嵌入式系统的首选操作系统。 1. 硬件选择 在配置嵌入式
    的头像 发表于 11-06 10:22 202次阅读

    linux操作系统安装步骤 linux操作系统的特点及组成

    Linux操作系统安装步骤 Linux操作系统是一种开源的操作系统,它以其稳定性、安全性和灵活性而闻名。以下是安装
    的头像 发表于 10-21 11:24 438次阅读

    面向功能安全应用的汽车开源操作系统解决方案

    在SAE 2024国际汽车安全大会上,Elektrobit的Linux专家王红燕在操作系统与芯片技术的分论坛上为大家带来了“面向功能安全应用的汽车开源操作系统解决方案”主题演讲。
    的头像 发表于 09-27 09:21 404次阅读
    面向功能安全应用的汽车开源<b class='flag-5'>操作系统</b>解决方案

    Linux操作系统份额创历史新高,逼近4.5%里程碑

    在最新的全球操作系统市场份额报告中,市调机构StatCounter于8月27日发布了令人瞩目的数据:2024年7月,Linux系统实现了历史性的飞跃,其市场份额首次逼近4.5%的关口,达到了4.44%的新高。这一成就标志着
    的头像 发表于 08-27 17:05 694次阅读

    Linux操作系统运行参数自动调整技术

    Linux操作系统运行参数的自动调整是一个复杂而关键的技术,它可以显著提高系统性能、稳定性和资源利用率。通过使用自适应算法特别是内核态的机器学习框架、性能监控工具和配置管理工具,能够在动态变化的工作
    的头像 发表于 08-22 09:53 249次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>操作系统</b>运行参数自动调整技术

    操作系统内存布局介绍

    32位操作系统内存布局很经典,很多书籍都是以32位系统为例子去讲解的。32位的系统可访问的地址空间为4GB,用户空间为1GB ~ 3GB,内核空间为3GB ~ 4GB。
    的头像 发表于 08-07 15:47 224次阅读
    <b class='flag-5'>操作系统</b>的<b class='flag-5'>内存</b>布局介绍

    嵌入式实时操作系统:Intewell操作系统与VxWorks操作系统有啥区别

    Intewell操作系统和VxWorks操作系统都是工业领域常用的操作系统,它们各有特点和优势。以下是它们之间的一些主要区别:
    的头像 发表于 07-08 14:16 367次阅读
    嵌入式实时<b class='flag-5'>操作系统</b>:Intewell<b class='flag-5'>操作系统</b>与VxWorks<b class='flag-5'>操作系统</b>有啥区别

    工业实时操作系统对比:鸿道Intewell跟rt-linux有啥区别

    Intewell和RT-Linux是两种不同的实时操作系统(RTOS),它们具有各自独特的特点和优势。以下是Intewell操作系统的一些关键特性,以及与RT-Linux的比较:
    的头像 发表于 07-03 10:00 457次阅读
    工业实时<b class='flag-5'>操作系统</b>对比:鸿道Intewell跟rt-<b class='flag-5'>linux</b>有啥区别

    研华工控机用什么系统?Windows与Linux操作系统的较量

    工控机用什么系统?Windows与Linux操作系统的较量。工控机(工业控制计算机)作为工业自动化和监控系统的核心组件,其稳定性、可靠性和性能对整个
    的头像 发表于 06-14 14:38 622次阅读
    研华工控机用什么<b class='flag-5'>系统</b>?Windows与<b class='flag-5'>Linux</b><b class='flag-5'>操作系统</b>的较量

    AURIX3G可以使用Linux操作系统吗?

    即使在 AURIX3G 中,也可以使用 Linux 操作系统吗?
    发表于 05-22 07:12

    服务器操作系统有几种?

    Linux、Unix等等,而人们常常应用的大部 分全是Windows和Linux系统软件。今日,小编就简单的给大伙儿介绍一下这两种常见的网络服务器电脑操作系统。 一、网络服务器Win
    发表于 03-29 16:59

    Linux操作系统上的射频测试模式应用指南

    电子发烧友网站提供《Linux操作系统上的射频测试模式应用指南.pdf》资料免费下载
    发表于 02-19 09:39 0次下载
    <b class='flag-5'>Linux</b><b class='flag-5'>操作系统</b>上的射频测试模式应用指南

    Linux操作系统中如何按下PCIe的复位键

    Linux操作系统中,看如何按下PCIe的复位键
    的头像 发表于 01-20 09:31 1447次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>操作系统</b>中如何按下PCIe的复位键

    服务器数据恢复-断电导致linux操作系统服务器数据丢失的数据恢复案例

      某品牌R730服务器+MD3200系列存储,linux操作系统
    的头像 发表于 12-21 14:55 557次阅读