AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 743859
Accepted
wangt13
wangt13
Asked: 2023-04-24 17:40:01 +0800 CST2023-04-24 17:40:01 +0800 CST 2023-04-24 17:40:01 +0800 CST

如何在 Linux-5.10.24 中查看内核中的内存使用情况?

  • 772

我正在使用内核 5.10.24 的嵌入式 Linux 系统。系统内有96MB DRAM。
系统启动时,我检查了内存使用情况并得到以下信息。

# dmesg | grep "kernel code"
[    0.000000] Memory: 85888K/131072K available (7885K kernel code, 692K rwdata, 1284K rodata, 560K init, 336K bss, 45184K reserved, 0K cma-reserved)
# free -m
              total        used        free      shared  buff/cache   available
Mem:             84          56           1           0          26          25
Swap:             0           0           0
#
#
# cat /proc/meminfo
MemTotal:          86448 kB
MemFree:            1992 kB
MemAvailable:      25948 kB
Buffers:               0 kB
Cached:            26896 kB
SwapCached:            0 kB
Active:             9632 kB
Inactive:          39064 kB
Active(anon):         72 kB
Inactive(anon):    21796 kB
Active(file):       9560 kB
Inactive(file):    17268 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 4 kB
Writeback:             0 kB
AnonPages:         21852 kB
Mapped:             7664 kB
Shmem:                68 kB
KReclaimable:        696 kB
Slab:               8632 kB
SReclaimable:        696 kB
SUnreclaim:         7936 kB
KernelStack:         608 kB
PageTables:          400 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:       43224 kB
Committed_AS:     146992 kB
VmallocTotal:    1048372 kB
VmallocUsed:        4156 kB
VmallocChunk:          0 kB
Percpu:              200 kB

从free -m输出中,我知道有 25MB 内存可用。
我可以算出用户空间的内存使用情况,但是如何知道内核空间使用了多少内存呢?

我阅读了一些博客和 SO,发现Buffers和Slabin/proc/meminfo是内核使用的内存。

加起来,还是有区别的!
那么如何找出内核空间使用的内存呢?是否Buffers足以检查内核空间中的内存使用情况Slab?/proc/meminfo

linux
  • 1 1 个回答
  • 21 Views

1 个回答

  • Voted
  1. Best Answer
    ARG
    2023-04-24T20:30:21+08:002023-04-24T20:30:21+08:00

    内核内存使用不仅限于 Buffers 和 Slab。它还包括其他组件,如内核代码、内核数据和内核堆栈。

    您可以使用以下组件计算内核内存使用情况:

    Kernel code (from dmesg output): 7885 KB
    rwdata (from dmesg output): 692 KB
    rodata (from dmesg output): 1284 KB
    init (from dmesg output): 560 KB
    bss (from dmesg output): 336 KB
    Slab (from /proc/meminfo): 8632 KB
    KernelStack (from /proc/meminfo): 608 KB
    

    现在,将它们加起来:

    7885 + 692 + 1284 + 560 + 336 + 8632 + 608 = 19997 KB
    

    因此,内核使用了大约 19,997 KB 或大约 19.5 MB 的内存。请记住,这是一个近似值,可能无法解释内核使用的每个内存字节。随着内核动态分配和释放内存,内存使用情况也可能在运行时发生变化。

    • 1

相关问题

  • 有没有办法让 ls 只显示某些目录的隐藏文件?

  • 使用键盘快捷键启动/停止 systemd 服务 [关闭]

  • 需要一些系统调用

  • astyle 不会更改源文件格式

  • 通过标签将根文件系统传递给linux内核

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve