阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux内存、Swap、Cache、Buffer详细解析

382次阅读
没有评论

共计 1561 个字符,预计需要花费 4 分钟才能阅读完成。

1. 通过 free 命令看 Linux 内存

Linux 内存、Swap、Cache、Buffer 详细解析

  • total:总内存大小。
  • used:已经使用的内存大小(这里面包含 cached 和 buffers 和 shared 部分)。
  • free:空闲的内存大小。
  • shared:进程间共享内存(一般不会用,可以忽略)。
  • buffers:内存中写完的东西缓存起来,这样快速响应请求,后面数据再定期刷到磁盘上。
  • cached:内存中读完缓存起来内容占的大小(这部分是为了下次查询时快速返回)。

-/+ buffers/cache 看做两部分:

  • -buffers/cache:正在使用的内存大小(注意不是 used 部分,因为 buffers 和 cached 并不是正在使用的,组织和人民需要是它们是可以释放的),其值 =used-buffers-cached。
  • +buffers/cache:可用的内存大小(同理也不是 free 表示的部分),其值 =free+buffers+cached。

Swap:硬盘上交换分区的使用大小。

设计的目的就是当上面提到的 +buffers/cache 表示的可用内存都已使用完,新的读写请求过来后,会把内存中的部分数据写入磁盘,从而把磁盘的部分空间当做虚拟内存来使用。

2. Buffer 和 Cache 介绍

Linux 内存、Swap、Cache、Buffer 详细解析

Cache(缓存),为了调高 CPU 和内存之间数据交换而设计,Buffer(缓冲)为了提高内存和硬盘(或其他 I / O 设备的数据交换而设计)。

Cache 主要是针对读操作设计的,不过 Cache 概念可能容易混淆,我理解为 CPU 本身就有 Cache,包括一级缓存、二级缓存、三级缓存,我们知道 CPU 所有的指令操作对接的都是内存,而 CPU 的处理能力远高于内存速度,所以为了不让 CPU 资源闲置,Intel 等公司在 CPU 内部集成了一些 Cache,但毕竟不能放太多电路在里面,所以这部分 Cache 并不是很大,主要是用来存放一些常用的指令和常用数据,真正大部分 Cache 的数据应该是占用内存的空间来缓存请求过的数据,即上面的 Cached 部分(这部分纯属个人理解,正确与否有待考证)。

Buffer 主要是针对写操作设计的,更细的说是针对内存和硬盘之间的写操作来设计的,目的是将写的操作集中起来进行,减少磁盘碎片和硬盘反复寻址过程,提高性能。

在 Linux 系统内部有一个守护进程会定期清空 Buffer 中的内容,将其写入硬盘内,当手动执行 sync 命令时也会触发上述操作。

3. 常见症状

症状一:在 Linux 中频繁存取文件,物理内存很快用光,而 cached 一直在增长。

解释:Linux 会对每次请求过的数据缓存在 cache 里,好处就是 CPU 的处理速度远远高于内存,所以在 CPU 和内存通讯的时候可以快速从 cache 中命中结果返回。

症状二:Swap 被占用。

解释:内存可能不够了,才会占 Swap,所以 Swap 可以作为服务器监控的一项指标,引起注意。

4. 手动清理 Swap 和 buffers/cache

(1) 清理 Swap

Linux 内存、Swap、Cache、Buffer 详细解析

操作说明:如果已经使用了 Swap,且当前清空下 +buffers/cache 还有空间,在执行  swapoff - a 操作时,会触发把 Swap 中的内容交换到内存中,数据不会丢失。

(2) 清理 buffers/cache:

Linux 内存、Swap、Cache、Buffer 详细解析

操作说明:

Linux 内存、Swap、Cache、Buffer 详细解析

5. 总结

通过上面的分析可以知道,当空闲物理内存不多时,不一定表示系统运行状态很差,因为内存的 cache 及 buffer 部分可以随时被重用,在某种意义上,这两部分内存也可以看作是额外的空闲内存。

swap 如果被频繁调用,bi,bo 长时间不为 0,则才是内存资源是否紧张的依据。通过 free 看资源时,实际主要关注 -/+ buffers/cache 的值就可以知道内存到底够不够了。

文章来源于网络,侵删!

Linux 内存、Swap、Cache、Buffer 详细解析

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-12-03发表,共计1561字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7980187
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
星哥带你玩飞牛NAS-5:飞牛NAS中的Docker功能介绍

星哥带你玩飞牛NAS-5:飞牛NAS中的Docker功能介绍

星哥带你玩飞牛 NAS-5:飞牛 NAS 中的 Docker 功能介绍 大家好,我是星哥,今天给大家带来如何在...
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...
手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板 前言 大家好,我是星哥。星哥发现很多新手刚接触服务器时,都会被“选购...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装 2026 年最强个人助理 ClawdBot、完整安装教程 一、前言 学不完,根本学不完!近期,一款名...
国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号 AI 知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率 大家好,我是星哥,...
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...