Linux 新手:第一次用 free,看懂内存的三行就够了
第一次敲 free -h,输出只有短短几行,却最容易把人看晕。其实新手期先盯住三行:Mem、Swap,和 Mem 行里的 available。Mem 行讲的是物理内存:total 是总共多少,used 是已用多少,free 是完全空闲多少;但最关键的是 available,它表示在不影响运行的前提下,还能给新程序用多少。free 和 available 不一样,因为系统会把空闲内存拿去做 buff/cache,也就是文件缓存;缓存是随时可以让路的,所以 available 往往比 free 大得多。看内存先看 available,不要一见 free 很小就慌。Swap 行讲的是交换分区,也就是硬盘上划出来应急的那块内存:平时 Swap 的 used 是 0 很正常;如果 used 开始往上涨,说明物理内存真的吃紧了,系统在把不常用的数据往硬盘上挪。偶尔用一点 Swap 不用紧张,但 used 持续涨、available 持续掉,就要去找是谁在吃内存了。找吃内存大户的办法很简单:ps aux --sort=-%mem | head,看排在前面的几行,COMMAND 列会告诉你那是什么程序;再结合 top 的 %MEM 列交叉确认,别一上来就杀进程,先认清楚它是谁、是不是你认识的服务。新手最容易踩的坑有三个:一是把 free 当成唯一指标,忽略 available;二是把 buff/cache 当成被浪费的内存,其实缓存是在帮你加速读文件;三是看到 Swap 用了就去网上抄 drop_caches 清缓存,清缓存治标不治本,还可能让系统变慢。记住这个顺序:先看 available 判断还剩多少,再看 Swap 判断是不是真吃紧,最后用 ps 找到大户再决定动不动手,free 的三行就够你日常巡检了。
- 点赞
- 收藏
- 关注作者
评论(0)