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

    文章

    11199

    浏览量

    208692
  • 磁盘缓存
    +关注

    关注

    0

    文章

    2

    浏览量

    5556
收藏 人收藏

    评论

    相关推荐

    嵌入式 Linux 操作系统配置

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

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

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

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

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

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

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

    操作系统内存布局介绍

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

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

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

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

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

    LInux 操作系统中断介绍

    LInux 操作系统中断 什么是系统中断 这个没啥可说的,大家都知道; CPU 在执行任务途中接收到中断请求,需要保存现场后去处理中断请求!保存现场称为中断处理程序!处理中断请求也就是唤醒对应的任务
    的头像 发表于 11-13 11:36 840次阅读
    <b class='flag-5'>LInux</b> <b class='flag-5'>操作系统</b>中断介绍

    Linux 内存管理总结

    一、Linux内存管理概述 Linux内存管理是指对系统内存的分配、释放、映射、管理、交换、压缩
    的头像 发表于 11-10 14:58 484次阅读
    <b class='flag-5'>Linux</b> <b class='flag-5'>内存</b>管理总结

    什么是LInux 操作系统中断

    LInux 操作系统中断 什么是系统中断 这个没啥可说的,大家都知道; CPU 在执行任务途中接收到中断请求,需要保存现场后去处理中断请求!保存现场称为中断处理程序!处理中断请求也就是唤醒对应的任务
    的头像 发表于 11-10 11:29 568次阅读
    什么是<b class='flag-5'>LInux</b> <b class='flag-5'>操作系统</b>中断