cat /proc/meminfo
MemTotal: 1024812 kB
MemFree: 360208 kB
Buffers: 30572 kB
Cached: 435620 kB
SwapCached: 32 kB
Active: 239980 kB
Inactive: 242980 kB
Active(anon): 11816 kB
Inactive(anon): 11652 kB
Active(file): 228164 kB
Inactive(file): 231328 kB
Unevictable: 0 kB
Mlocked: 0 kB
HighTotal: 270336 kB
HighFree: 49668 kB
LowTotal: 754476 kB
LowFree: 310540 kB
SwapTotal: 131068 kB
SwapFree: 131032 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 16832 kB
Mapped: 16748 kB
Shmem: 6700 kB
Slab: 158036 kB
SReclaimable: 20756 kB
SUnreclaim: 137280 kB
KernelStack: 736 kB
PageTables: 676 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 643472 kB
Committed_AS: 173868 kB
VmallocTotal: 245760 kB
VmallocUsed: 17180 kB
VmallocChunk: 212864 kB 如上为/proc/meminfo中对内存的统计,其代码在fs/proc/meminfo.c中,接口为static int meminfo_proc_show(struct seq_file *m, void *v)。
但是各个内存是如何进行统计的,比如Slab,通过slab分配器分配的内存,比如kmalloc,按理说slab会增加,具体在什么地方增加的,求大神指导下!
MemTotal: 1024812 kB
MemFree: 360208 kB
Buffers: 30572 kB
Cached: 435620 kB
SwapCached: 32 kB
Active: 239980 kB
Inactive: 242980 kB
Active(anon): 11816 kB
Inactive(anon): 11652 kB
Active(file): 228164 kB
Inactive(file): 231328 kB
Unevictable: 0 kB
Mlocked: 0 kB
HighTotal: 270336 kB
HighFree: 49668 kB
LowTotal: 754476 kB
LowFree: 310540 kB
SwapTotal: 131068 kB
SwapFree: 131032 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 16832 kB
Mapped: 16748 kB
Shmem: 6700 kB
Slab: 158036 kB
SReclaimable: 20756 kB
SUnreclaim: 137280 kB
KernelStack: 736 kB
PageTables: 676 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 643472 kB
Committed_AS: 173868 kB
VmallocTotal: 245760 kB
VmallocUsed: 17180 kB
VmallocChunk: 212864 kB 如上为/proc/meminfo中对内存的统计,其代码在fs/proc/meminfo.c中,接口为static int meminfo_proc_show(struct seq_file *m, void *v)。
但是各个内存是如何进行统计的,比如Slab,通过slab分配器分配的内存,比如kmalloc,按理说slab会增加,具体在什么地方增加的,求大神指导下!
解决方案 »
- lkm中调用system_call的问题
- linux,hid,write|fwrite,数组第一个字节为0,则丢失该字节
- 首次用ecliipse编译linux内核
- uboot make O=xxx编译不过
- 谁帮忙解析一下这个计算时间的函数
- mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
- 安装kali黑屏
- 问题1:有没有Hi3559V200_MobileCam方案的大佬?跑的是双系统,Huawei_LiteOS和Linux同时跑,它们之间是怎么交互的?
- 安装samba找不到配置文件
- 如何对自定义用户进行linux文件权限和命令操作的控制
- Linux运维
- windows下利用freefilesync同步linux下的文件夹
{
long x = atomic_long_read(&vm_stat[item]);
#ifdef CONFIG_SMP
if (x < 0)
x = 0;
#endif
return x;
}
这不很清楚了吗,vm_stat存的各种统计信息,系统运行的时候会更新vm_stat里面的信息
你看slab的信息明显是读取
K(global_page_state(NR_SLAB_RECLAIMABLE) +
global_page_state(NR_SLAB_UNRECLAIMABLE)),
那你就找NR_SLAB_RECLAIMABLE出现的位置,一般都可以找到的.
mm/slub.c
mod_zone_page_state(page_zone(page),
(s->flags & SLAB_RECLAIM_ACCOUNT) ?
NR_SLAB_RECLAIMABLE : NR_SLAB_UNRECLAIMABLE,
1 << oo_order(oo));