摘要:做嵌入式开发对内存泄露很敏感,而对泄露的位置更加关注。本文记录一下从网上搜集的各参数的含义。这很容易被系统移做他用所有在以上的空间。主要是用户空间程序或缓存页以下的空间。
做嵌入式开发对内存泄露很敏感,而对泄露的位置更加关注。本文记录一下从网上搜集的/proc/meminfo各参数的含义。还不完整,待补完。
本文地址:https://segmentfault.com/a/1190000007114036
Reference关于/proc/meminfo的理解
linux/Documentation/filesystems/proc.txt
以下项目并不是每一个 Linux 系统上都有的,根据你的 Linux 设计和版本,可能多出或者少了某些项。
参考资料中的第二项是最新的 Linux 文档
项目名 | 说明 |
---|---|
MemTotal | 所有可用的 RAM 大小,物理内存减去预留位和内核使用 |
MemFree | LowFree + HighFree |
Buffers | 用来给块设备做缓存的大小(文件系统的 metadata, tracking in-flight pages) |
Cached | 文件的缓冲区大小 |
SwapCached | 已经被交换出来的内存。与 I/O 相关 |
Active | 经常(最近)被使用的内存 |
Inactive | 最近不常使用的内存。这很容易被系统移做他用 |
Active(anon) | ? |
Inactive(anon) | ? |
Unevictable | ? |
Mlocked | ? |
HighTotal | 所有在 860MB(0x35C00000)以上的空间。主要是用户空间程序或缓存页 |
LowTotal | 860MB 以下的空间。如果该空间用完了,系统可能会异常 |
HighFree | 860MB 以上空间的可用空间 |
LowFree | 860MB 以下空间的可用空间 |
SwapTotal | 交换空间总和 |
SwapFree | RAM 暂存在 Swap 中的大小 |
Dirty | 等待写回的数据大小 |
WriteBack | 正在写回的数据大小 |
Mapped | 映射文件大小 |
AnonPages | 映射到用户空间的非文件页表大小 |
Shmem | ? |
Slab | 内核数据结构缓存 |
SReclaimable | Slab 的一部分。当内存压力大时,可以 reclaim |
SUnreclaim | 不可以 reclaim 的 Slab |
KernelStack | ? |
PageTables | 最底层的页表的内存空间 |
NFS_Unstable | 已经发给 NFS 服务器、但是尚未被确认(committed)写入到稳定存储的页表 |
Bonce | ? |
WritebackTmp | Memory used by FUSE for temporary writeback buffers |
CommitLimit | CommitLimit = ("vm.overcommit_ratio" * Physical RAM) |
Committed_AS | The amount of memory presently allocated on the system.(系统中目前分配了的内存?) |
VmallocTotal | vmalloc 内存大小 |
VmallocUsed | 已被使用的虚拟内存大小 |
VmallocChunk | 在 vmalloc 区域中可用的最大的连续内存块的大小 |
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/9576.html
摘要:通过程序采集服务器的性能指标,并以此数据为基础构造监控系统,是运维的常见需求。本文阐述各种主要性能指标的具体采集方法和技术。原文系统性能指标的采集方法篇的采样指标分为总体指标和单核指标,通过读取文件,可以得到总体数据和每个的数据。 通过程序采集服务器的性能指标,并以此数据为基础构造监控系统,是运维的常见需求。本文阐述各种主要性能指标的具体采集方法和技术。 原文:系统性能指标的采集方法(...
摘要:的使用方法最简单的的显示全部信息这样将输出所有的信息,你可能会被一大堆的信息吓坏,通常可以使用下面的方法。显示指定类型的信息通常我只想查看某类型,比如,内存或者磁盘的信息而不是全部的。 查看CPU信息:cat /proc/cpuinfo 查看硬盘信息:df -lh 查看内存信息:free -m 在LINUX环境开发驱动程序,首先要探测到新硬件,接下来就是开发驱动程序。 常用命令整理...
摘要:的使用方法最简单的的显示全部信息这样将输出所有的信息,你可能会被一大堆的信息吓坏,通常可以使用下面的方法。显示指定类型的信息通常我只想查看某类型,比如,内存或者磁盘的信息而不是全部的。 查看CPU信息:cat /proc/cpuinfo 查看硬盘信息:df -lh 查看内存信息:free -m 在LINUX环境开发驱动程序,首先要探测到新硬件,接下来就是开发驱动程序。 常用命令整理...
摘要:我们平常在写代码时,一般是在用户空间,通过系统调用函数来访问内核空间,这是最常用的一种用户态和内核态通信的方式。它本质上还是用到了文件的读写操作,来完成用户态和内核态的通信。总结用户态和内核态通信主要的四种方式,其中和是最常见的方式。 本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,...
阅读 1078·2021-11-23 09:51
阅读 2416·2021-09-03 10:47
阅读 2080·2019-08-30 15:53
阅读 2275·2019-08-30 15:44
阅读 1253·2019-08-30 15:44
阅读 1090·2019-08-30 10:57
阅读 1794·2019-08-29 12:25
阅读 1935·2019-08-27 14:19