【问题标题】:what is slab entries in proc/meminfo?proc/meminfo 中的slab 条目是什么?
【发布时间】:2014-11-21 05:56:35
【问题描述】:

Slab — 内核用于缓存数据结构以供自己使用的内存总量,以千字节为单位。

我的问题是,如果任何进程创建自己的平板,那么这个平板内存会转到平板或进程的 PSS 部分吗?

kmalloc 分配的内存分配给 PSS 还是slab?

【问题讨论】:

    标签: linux memory-management linux-kernel


    【解决方案1】:

    我不太确定我是否理解您的问题。 如果要使用slab分配器,可以使用以下API:

    kmem_cache_t* kmem_cache_create(const char *name, size_t size, size_t align, unsigned long flags, void (ctor)(void,kmem_cache_t*, unsigned long), (ctor)(void,kmem_cache_t*, unsigned long))

    void *kmem_cache_alloc(kmem_cache_t *cachep, int flags)

    第一个 API 将为您创建一个平板分配器。 第二个用于分配内存。

    kmalloc() 不使用slab。

    【讨论】:

    • 谢谢,我看了一些文章,发现“proc/meminfo”中的“slab”字段与内核有关。所以我想知道,如果任何内核模块使用 kmalloc 为 20MB,那么这个内存在slab 中计数(因为 kmalloc 使用 kmem_catch 板)或处理单个文件,即 RSS
    • slab 用于为常用数据结构快速分配内存。
    猜你喜欢
    • 2010-10-14
    • 1970-01-01
    • 2010-11-24
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多