专栏首页煮茶科技Linux 内存参数详细说明

Linux 内存参数详细说明

在 Linux 下 free 命令可以看出系统当前内存状况,附上 -k , -m , -g 可以分别输出对应单位的内存状况:

Usage:
 free [options]

Options:
 -b, --bytes         show output in bytes
 -k, --kilo          show output in kilobytes
 -m, --mega          show output in megabytes
 -g, --giga          show output in gigabytes
     --tera          show output in terabytes
     --peta          show output in petabytes

以某台 Linux Ecs 为例,运行 free -m  后的输出如下:

$ free -m
              total        used        free      shared  buff/cache   available
Mem:           3789         229         621           0        2937        3261
Swap:             0           0           0

这些值都是什么意思呢? 首先看行: Mem :表示物理内存统计 Swap :表示硬盘上交换分区的使用情况(这里我们不去关心) 注:系统的总物理内存:3789M,但系统当前真正可用的内存并不是第一行 free  标记的 621M,它仅代表未被分配的内存。 接下来看列: total :总计物理内存的大小。 used :已使用多大。 free :可用有多少。 Shared :多个进程共享的内存总额。 Buffers/cached :磁盘缓存的大小。

这大致就是 Linux 下内存各项参数的含义,还有更复杂的参数,未来遇到新的场景时再做补充。

--------------------- 补充 ---------------------

cat /proc/meminfo 
MemTotal:        3880404 kB      //总内存
MemFree:          637548 kB      //空闲内存
MemAvailable:    3340664 kB
Buffers:          178760 kB      //给文件的缓冲大小
Cached:          2535436 kB      //高速缓冲存储器使用的大小
SwapCached:            0 kB      //被高速缓冲存储用的交换空间大小
Active:          1370440 kB      //活跃使用中的高速缓冲存储器页面文件大小
Inactive:        1506936 kB      //不经常使用的高速缓冲存储器页面文件大小
Active(anon):     163452 kB
Inactive(anon):      216 kB
Active(file):    1206988 kB
Inactive(file):  1506720 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB      //交换空间总大小
SwapFree:              0 kB      //空闲交换空间
Dirty:                76 kB      //等待被写回到磁盘的大小
Writeback:             0 kB      //正在被写回的大小
AnonPages:        163320 kB      //未映射的页的大小
Mapped:            65100 kB      //设备和文件映射的大小
Shmem:               492 kB      
Slab:             294180 kB      //内核数据结构缓存的大小,可减少申请和释放内存带来的消耗
SReclaimable:     278620 kB      //可收回slab的大小
SUnreclaim:        15560 kB      //不可收回的slab的大小15560 + 278620 = 294180
KernelStack:        2624 kB
PageTables:         5720 kB       //管理内存分页的索引表的大小
NFS_Unstable:          0 kB       //不稳定页表的大小
Bounce:                0 kB 
WritebackTmp:          0 kB
CommitLimit:     1940200 kB
Committed_AS:     586464 kB
VmallocTotal:   34359738367 kB    //虚拟内存大小
VmallocUsed:       14160 kB       //已经被使用的虚拟内存大小
VmallocChunk:   34359715580 kB
HardwareCorrupted:     0 kB
AnonHugePages:     10240 kB
CmaTotal:              0 kB
CmaFree:               0 kB
HugePages_Total:       0         //大页面的分配
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:       98176 kB
DirectMap2M:     4096000 kB
DirectMap1G:     2097152 kB

参考文献

--------------------- Author: Frytea Title: Linux 内存参数详细说明 Link: https://blog.frytea.com/archives/403/ Copyright: This work by TL-Song is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 计算 Linux 内存使用率方法及C实现

    通过获取Linux中的 /proc/stat 文件中的内容可以获取系统内存的详细信息:

    宋天伦
  • Wordpress鼠标点击出现爱心

    同上文,眼馋各大博主博客令人眼前一亮的设计,想要给自己博客也打扮打扮,今天就来弄弄鼠标点击出现爱心的效果吧!

    宋天伦
  • Vue项目使用Vue2Leaflet插件实现地图显示

    vue是一个渐进式javascript框架,用来快速构建网页项目,在vue框架之上结构化leaflet地图库的产物vue2leaflet可以在vue项目中很方便...

    宋天伦
  • linux out of memory分析(OOM)

    原文:http://blog.csdn.net/guomsh/article/details/6536915

    一见
  • 云服务器 - 腾讯云主机信息

    无意间发现腾讯云服务器有个 云+ 校园 活动, 每月10 块钱一台 1 核 2 G 服务器, 还算比较划算,(其中错过了, 腾讯云修改配置可以360元五年 1核...

    AIHGF
  • centos和rhel性能差别之谜

       貌似发现了centos和rhel性能差别之谜,其中一个关键的信息可以从识别的内存中看出,具体信息如下,虽然版本不一样,凑合着用。

    党志强
  • Android 通过adb shell命令查看内存,CPU,启动时间,电量等信息

    90058 kB: com.tencent.mobileqq (pid 16731)

    授客
  • 计算 Linux 内存使用率方法及C实现

    通过获取Linux中的 /proc/stat 文件中的内容可以获取系统内存的详细信息:

    宋天伦
  • Linux内核参数min_free_kbytes与lowmem_reserve_ratio

    解释已经很清楚了,主要有以下几个关键点: 1. 1 代表系统所保留空闲内存的最低限

    Linux阅码场
  • Hacker基础之Linux篇:基础Linux命令十六

    今天我们来学习几个小知识,不一定是Linux的命令,都是用于查看Linux的系统信息的

    用户1631416

扫码关注云+社区

领取腾讯云代金券