Linux 嵌入式系统:其中';这是我的记忆吗?

Linux 嵌入式系统:其中';这是我的记忆吗?,linux,memory,linux-kernel,Linux,Memory,Linux Kernel,我有一个基于ARM的嵌入式系统。我只是提出了内核(2.6.34)。下面是一些命令输出。我无法解释整个RAM(128M) 内核似乎使用了128MB-124368KB=6704KB Cache = 1672 kB Slab = 3000 kB 但是MemFree只有100812kb。我如何解释剩余的内存(大约18.5MB) 此外,值为1512 kB的提交_表示什么 # cat /proc/meminfo MemTotal: 124368 kB MemFree: 1

我有一个基于ARM的嵌入式系统。我只是提出了内核(2.6.34)。下面是一些命令输出。我无法解释整个RAM(128M)

内核似乎使用了128MB-124368KB=6704KB

Cache = 1672 kB
Slab = 3000 kB
但是MemFree只有100812kb。我如何解释剩余的内存(大约18.5MB)

此外,值为1512 kB的提交_表示什么

# cat /proc/meminfo
MemTotal:         124368 kB
MemFree:          100812 kB
Buffers:               0 kB
Cached:             1672 kB
SwapCached:            0 kB
Active:             1692 kB
Inactive:            284 kB
Active(anon):        304 kB
Inactive(anon):        0 kB
Active(file):       1388 kB
Inactive(file):      284 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 4 kB
Writeback:             0 kB
AnonPages:           328 kB
Mapped:              856 kB
Shmem:                 0 kB
Slab:               3000 kB
SReclaimable:       1116 kB
SUnreclaim:         1884 kB
KernelStack:         248 kB
PageTables:           48 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:       62184 kB
Committed_AS:       1512 kB
VmallocTotal:     876544 kB
VmallocUsed:        1848 kB
VmallocChunk:     873908 kB



# free
             total         used         free       shared      buffers
Mem:        124368        23584       100784            0            0
-/+ buffers:              23584       100784
Swap:            0            0            0



# lsmod
Module                  Size  Used by    Not tainted



# ps
  PID USER       VSZ STAT COMMAND
    1 0         1556 S    init
    2 0            0 SW   [kthreadd]
    3 0            0 SW   [ksoftirqd/0]
    4 0            0 SW   [watchdog/0]
    5 0            0 SW   [events/0]
    6 0            0 SW   [khelper]
   10 0            0 SW   [async/mgr]
  200 0            0 SW   [sync_supers]
  202 0            0 SW   [bdi-default]
  203 0            0 SW   [kblockd/0]
  209 0            0 SW   [ata/0]
  210 0            0 SW   [ata_aux]
  211 0            0 SW   [pxa2xx-spi.2]
  218 0            0 SW   [khubd]
  221 0            0 SW   [kseriod]
  234 0            0 SW   [kmmcd]
  253 0            0 SW   [rpciod/0]
  261 0            0 SW   [khungtaskd]
  262 0            0 SW   [kswapd0]
  264 0            0 SW   [aio/0]
  265 0            0 SW   [nfsiod]
  267 0            0 SW   [crypto/0]
  414 0            0 SW   [mtdblockd]
  457 0            0 SW   [ubi_bgt0d]
  537 0            0 SW   [usbhid_resumer]
  563 0            0 SW   [ubifs_bgt0_0]
  581 0         1556 S    telnetd -l /bin/sh
  586 0         1948 S <  udevd -d
 2956 0         1560 S    -/bin/sh
 3986 0            0 SW   [flush-ubifs_0_0]
 3990 0         4216 R    ps
#cat/proc/meminfo
内存总数:124368KB
MemFree:100812KB
缓冲区:0 kB
缓存:1672 kB
交换缓存:0 kB
活动:1692KB
非活动:284KB
活动(anon):304 kB
非活动(anon):0 kB
活动(文件):1388 kB
非活动(文件):284KB
无法获胜:0 kB
已锁定:0 kB
SwapTotal:0 kB
交换空间:0 kB
脏的:4KB
写回:0 kB
其他页:328KB
映射:856KB
Shmem:0 kB
平板:3000 kB
可索赔额:1116 kB
SunReclain:1884KB
内核堆栈:248KB
页表:48KB
NFS\u不稳定:0 kB
反弹:0 kB
WritebackTmp:0 kB
承诺限制:62184KB
提交地址:1512 kB
VmallocTotal:876544 kB
VmallocUsed:1848kb
VmallocChunk:873908 kB
#免费的
使用的可用共享缓冲区总数
成员:12436823584 1007840
-/+缓冲区:23584100784
掉期:0
#lsmod
未受污染的用户使用的模块大小
#ps
PID用户VSZ STAT命令
101556s初始值
2 0 0软件[kthread]
3 0 0 SW[ksoftirqd/0]
4 0 0开关[看门狗/0]
5 0 0软件[事件/0]
西南6 0 0[khelper]
10 0 0软件[异步/管理器]
200 0 0西南[同步超级]
202 0 0 SW[bdi默认值]
203 0 0西南方向[kblockd/0]
2090西南部[ata/0]
210 0 0西南[数据辅助]
2110 0西南[pxa2xx spi.2]
西南2180[khubd]
2210西南方向[K周期]
234 0 0西南角[kmmcd]
253 0西南部[rpciod/0]
2610西南部[khungtaskd]
2620西南部[kswapd0]
264 0 0软件[aio/0]
2650西南部[nfsiod]
267 0 0西南[加密/0]
414 0 0 SW[mtdblockd]
西南457 0[ubi_bgt0d]
537 0 0西南部[美国西北部简历]
563 0 0西南[ubifs_bgt0_0]
5810 1556 S telnetd-l/bin/sh
586 0 1948 S
(这是一个很长的评论)


MemFree将向您展示当前未使用的内存。所有的磁盘读取都将被缓存,缓存将从MemFree中减去;即使它仍然可以用于比读缓存更重要的事情。另外,
/proc/iomem
应该告诉您哪些内存地址被映射到了您认为缺少内存的位置-您可以使用它来查找RAM使用的地址。谢谢你的答复。我已经考虑过1672kb的缓存/proc/iomem仅指示系统RAM范围内的内核文本(5011KB)和内核数据(394KB)区域。其他范围超出系统RAM范围。
Committed_AS: An estimate of how much RAM you would need to make a
              99.99% guarantee that there never is OOM (out of memory)
              for this workload. Normally the kernel will overcommit
              memory. That means, say you do a 1GB malloc, nothing
              happens, really. Only when you start USING that malloc
              memory you will get real memory on demand, and just as
              much as you use. So you sort of take a mortgage and hope
              the bank doesn't go bust. Other cases might include when
              you mmap a file that's shared only when you write to it
              and you get a private copy of that data. While it normally
              is shared between processes. The Committed_AS is a
              guesstimate of how much RAM/swap you would need
              worst-case.