【问题标题】:How to get size of kernel space?如何获得内核空间的大小?
【发布时间】:2014-07-02 08:24:07
【问题描述】:

我需要获取我的 linux 发行版的内核和用户空间的大小。 有没有获取内核和用户空间大小的命令?

谢谢 托马斯

【问题讨论】:

  • 不,我不想知道已用内存的大小。我想知道一般尺寸。我有 4GB 内存空间,我想知道这是否像往常一样分为 3GB 用户空间和 1Gb 内核空间
  • @Thomas:这是一个棘手的问题,因为每个应用程序都有 3 GB 的用户空间,但如果有 10 个应用程序,你的 4 GB 中没有 30 GB 的用户空间。
  • 另外,通过4G/4G补丁,用户空间和内核空间不再需要划分4G了。

标签: linux memory kernel space


【解决方案1】:

您正在寻找CONFIG_PAGE_OFFSET 设置。除了内核配置文件,我认为它不会出现在任何地方。

【讨论】:

  • 这是 0xC0000000。这到底是什么意思?
  • @Thomas 这意味着内核的东西从虚拟地址0xC0000000 开始,即十六进制的 3G。如果你找到任何从正在运行的系统中获取它的方法,请告诉我,我敢打赌它被埋在 /sys 的某个地方。
【解决方案2】:

您可以查看/proc/<pid>/maps。堆栈可能会在 0xC0000000 结束,但您的用户空间可能会以不同的方式分区。我认为不能保证所有用户空间的大小都相同。

地图中未列出的任何内容都可用于内核。但请记住,这些是进程地址空间中的虚拟地址。作为用户亲

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-28
    • 1970-01-01
    • 1970-01-01
    • 2019-04-19
    • 2013-01-21
    • 1970-01-01
    • 2020-10-12
    • 2012-09-13
    相关资源
    最近更新 更多