首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >同样都是Linux,为什么有人夸"轻量",有人骂"吃内存"?

同样都是Linux,为什么有人夸"轻量",有人骂"吃内存"?

作者头像
芸知
发布2026-07-24 21:04:43
发布2026-07-24 21:04:43
480
举报

同样都是Linux,为什么有人夸"轻量",有人骂"吃内存"?

你刚装好一台 Linux 服务器,跑了一行 free -h,结果吓了一跳:total 4G,used 3.8G,free 0.1G。

你问别人,对方看了一眼说:「正常啊,Linux 就是轻量。」

到底谁错了?

都没错。 问题出在你看"内存使用"的方式——Windows 和 Linux 对"空闲内存"的理解,从根上就不一样。


Windows 的哲学:空闲内存不是浪费

Windows 的设计思路是:保持内存空闲,等你需要的时候能快速分配。任务管理器里显示"可用内存"多,用户就安心。

当然,这不代表 Windows 真的让内存闲着——它也有 SuperFetch(SysMain)做预加载,只是把这些缓存藏在了"已用"之外,不太显眼。

从 Windows 过来的用户,看到 Linux 的 free 命令,第一反应就是:"内存被吃了。"


Linux 的哲学:空闲内存就是被浪费的

Linux 内核有一个叫 Page Cache(页缓存) 的机制。它的逻辑很简单:只要没有程序在用这块内存,内核就拿来缓存磁盘数据。

为什么?因为磁盘 I/O 比内存慢几个数量级。多缓存一点数据,下次读文件时就快一点。这是 Linux 内核文档里明确描述的设计 [1]。

"Free memory is wasted memory." —— Linux 内核社区

关键反转:Page Cache 不是占着茅坑不拉屎

这里是最多人误解的地方:Page Cache 占用的内存,是可以随时回收的。

当一个新程序启动、需要更多内存时,内核会立刻从 Page Cache 里腾出空间给它。正如 linuxatemyram.com 所说:"Disk cache can always be given back to applications immediately." [2]

换句话说,used 高 ≠ 内存不够。 内核把这部分内存标记为"已用",只是因为它在干正事——缓存。你真要用的时候,它随时能还给你。

到底怎么看?

代码语言:javascript
复制
# 新手看这个:
$ free -h
total   used   free
Mem:           4.0G   3.8G   0.1G
→ "完了,内存快满了!"# 老手看这个:
$ free -h
total   used   free  buff/cache  available
Mem:           4.0G   1.2G   0.1G        2.6G       2.7G
→ "哦,实际可用 2.7G,还有一大半呢。"

free 只剩 0.1Gavailable 还有 2.7G —— 中间 2.6G 就是 Page Cache。

那什么时候才该慌?

看这三个信号:

  • available 接近 0
  • swap 持续增长
  • dmesg 里出现 OOM-killer

这些才是真正的内存不够了。


两种哲学,没有优劣

Windows 为交互响应优化——保持内存空闲,确保你点一下就能立刻分到资源。Linux 为吞吐性能优化——把每一字节空闲内存都利用起来,提升系统整体响应速度。

没有谁对谁错,只是对"内存"这个资源的管理哲学不同。

所以下次有人跟你说"Linux 吃内存",你可以笑着告诉他:"那不是吃,是囤——而且随时能吐出来。"

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-07-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 芸知 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 同样都是Linux,为什么有人夸"轻量",有人骂"吃内存"?
    • Windows 的哲学:空闲内存不是浪费
    • Linux 的哲学:空闲内存就是被浪费的
    • 关键反转:Page Cache 不是占着茅坑不拉屎
    • 到底怎么看?
    • 那什么时候才该慌?
    • 两种哲学,没有优劣
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档