Linux 内核 内存管理Linux 内核内存布局 ② ( x86_64 架构体系内存分布 | 查看 /proc/meminfo 文件 | /proc/meminfo 重要字段解析 )
Posted 韩曙亮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 内核 内存管理Linux 内核内存布局 ② ( x86_64 架构体系内存分布 | 查看 /proc/meminfo 文件 | /proc/meminfo 重要字段解析 )相关的知识,希望对你有一定的参考价值。
文章目录
一、查看 x86_64 架构体系内存分布
执行
cat /proc/meminfo
命令 , 可以查看 " x86_64 架构体系内存分布 " ;
执行结果参考 :
root@ubuntu:~/kernel/linux-5.6.14# cat /proc/meminfo
MemTotal: 4001788 kB
MemFree: 2312852 kB
MemAvailable: 3009516 kB
Buffers: 56496 kB
Cached: 824888 kB
SwapCached: 0 kB
Active: 1021364 kB
Inactive: 352536 kB
Active(anon): 493520 kB
Inactive(anon): 17780 kB
Active(file): 527844 kB
Inactive(file): 334756 kB
Unevictable: 48 kB
Mlocked: 48 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 492572 kB
Mapped: 191348 kB
Shmem: 18780 kB
KReclaimable: 73904 kB
Slab: 139800 kB
SReclaimable: 73904 kB
SUnreclaim: 65896 kB
KernelStack: 9568 kB
PageTables: 25556 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 2000892 kB
Committed_AS: 3094012 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 21440 kB
VmallocChunk: 0 kB
Percpu: 37376 kB
HardwareCorrupted: 0 kB
AnonHugePages: 0 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
FileHugePages: 0 kB
FilePmdMapped: 0 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 0 kB
DirectMap4k: 159552 kB
DirectMap2M: 2985984 kB
DirectMap1G: 3145728 kB
root@ubuntu:~/kernel/linux-5.6.14#
二、/proc/meminfo 重要字段解析
/proc/meminfo 重要字段解析 :
MemTotal: 4001788 kB
可用 " 内存空间 " 大小MemFree: 2312852 kB
空余内存 , 这些内存还没有使用MemAvailable: 3009516 kB
真正可用的内存 , 比 MemFree 大一些 , 这是因为一些内存虽然已经使用了 , 但是可以回收 ;Buffers: 56496 kB
为 " 块设备 " 做缓存的内存空间大小Cached: 824888 kB
分配给 " 文件缓冲区 " 的内存空间大小SwapCached: 0 kB
" 高速缓存 " 的 " 交换空间 " 大小Active: 1021364 kB
" 高速缓存 " 页面文件大小Inactive: 352536 kB
不经常使用的 " 高速缓存 " 页面文件大小Active(anon): 493520 kB
活跃的 " 匿名内存 "Inactive(anon): 17780 kB
不活跃的 " 匿名内存 "Active(file): 527844 kB
活跃文件使用的内存Inactive(file): 334756 kB
不活跃文件使用的内存Unevictable: 48 kB
不可释放的内存页Mlocked: 48 kB
允许程序在 " 物理内存 " 上 锁住 " 地址空间 "SwapTotal: 0 kB
交换空间总内存大小SwapFree: 0 kB
交换空间空闲的内存大小Dirty: 0 kB
等待被写回到磁盘的内存大小Writeback: 0 kB
正在被写的内存大小AnonPages: 492572 kB
" 未映射页 " 的内存 映射到 " 用户空间 " 后的 页表大小Mapped: 191348 kB
" 映射文件 " 内存大小Shmem: 18780 kB
已分配完毕的 " 共享内存 "KReclaimable: 73904 kB
可回收的 Slab 内存Slab: 139800 kB
内存 " 数据结构 " 缓存大小CommitLimit: 2000892 kB
系统 可分配内存 大小Committed_AS: 3094012 kB
系统 已经分配的内存 大小VmallocTotal: 34359738367 kB
预留的 " 虚拟内存 " 总量大小VmallocUsed: 21440 kB
已经使用的 " 虚拟内存 "VmallocChunk: 0 kB
可分配的 最大的 " 逻辑地址连续 " 的 " 虚拟内存 "
以上是关于Linux 内核 内存管理Linux 内核内存布局 ② ( x86_64 架构体系内存分布 | 查看 /proc/meminfo 文件 | /proc/meminfo 重要字段解析 )的主要内容,如果未能解决你的问题,请参考以下文章
Linux 内核 内存管理Linux 内核内存布局 ① ( 查看 Linux 操作系统位数 | 查看 Linux 操作系统软硬件信息 )
Linux 内核 内存管理Linux 内核内存布局 ④ ( ARM64 架构体系内存分布 | 内核启动源码 start_kernel | 内存初始化 mm_init | mem_init )
Linux 内核 内存管理Linux 内核内存布局 ④ ( ARM64 架构体系内存分布 | 内核启动源码 start_kernel | 内存初始化 mm_init | mem_init )
Linux 内核 内存管理Linux 内核内存布局 ② ( x86_64 架构体系内存分布 | 查看 /proc/meminfo 文件 | /proc/meminfo 重要字段解析 )