linux下的内存统计

记录下项目这两天遇到的一个内存方面的问题.

环境: mips24K, 内存128M(扣除audio/video直接控制的内存后, 剩下65M), 内核版本2.6.29.4


项目那边反馈说, 加载wifi相关的东西后, 内存少了很多. 怎么回事呢?

1. 先ps, cat /proc/meminfo

# ps
  PID USER       VSZ STAT COMMAND
    1 root      1572 S    init
    2 root         0 SW<  [kthreadd]
    3 root         0 SW<  [ksoftirqd/0]
    4 root         0 SW<  [watchdog/0]
    5 root         0 SW<  [events/0]
    6 root         0 SW<  [khelper]
    7 root         0 SW<  [kintegrityd/0]
    8 root         0 SW<  [kblockd/0]
    9 root         0 SW<  [ksuspend_usbd]
   10 root         0 SW<  [khubd]
   11 root         0 SW   [pdflush]
   12 root         0 SW   [pdflush]
   13 root         0 SW<  [kswapd0]
   14 root         0 SW<  [nfsiod]
   21 root         0 SW<  [mtdblockd]
   22 root         0 SW<  [rpciod/0]
   95 root         0 SWN  [jffs2_gcd_mtd9]
  173 root         0 SW   [RTW_CMD_THREAD]
  186 root      1296 S    udhcpd /usr/bin/udhcpd.conf
  191 root      1580 S    -sh
  195 root      1568 R    ps

# free

             total         used         free       shared      buffers
Mem:        189840        42376       147464            0         2016
-/+ buffers:              40360       149480
Swap:            0            0            0

# cat /proc/meminfo
MemTotal:         189840 kB
MemFree:          147480 kB
Buffers:            2016 kB
Cached:            14876 kB
SwapCached:            0 kB
Active:             1680 kB
Inactive:          15368 kB
Active(anon):        156 kB
Inactive(anon):        0 kB
Active(file):       1524 kB
Inactive(file):    15368 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:           176 kB
Mapped:              656 kB
Slab:               4812 kB
SReclaimable:        736 kB
SUnreclaim:         4076 kB
PageTables:           36 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:       94920 kB
Committed_AS:        504 kB
VmallocTotal:    1048404 kB
VmallocUsed:        3084 kB
VmallocChunk:    1042024 kB

显然这个内存总数超出了实际128M的大小. 查看uboot的bootargs, 果然, "Kernel command line: mem=65M console=ttyS0,115200n8r cpuclock=54M no_console_suspend apppart=mtdblock8 appfs=squashfs mtdparts=mt_sf:64k(bt),512k(ub),256k(avbin),128k(logo),64k(rw0),64k(rw1),512k(loader),3520k(kernel),7232k(app),512k(data)mem=128M@128M"

多了个配置, 这个是给256M的demo板用的. 问题解决.


2. 修改后再运行wifi的脚本后统计一下, 查看meminfo和slabinfo.  free的有13M左右.

# cat /proc/meminfo

MemTotal:          59892 kB

MemFree:           13328 kB

Buffers:              28 kB

Cached:            21028 kB

SwapCached:            0 kB

Active:             1780 kB

Inactive:          19648 kB

Active(anon):        372 kB

Inactive(anon):        0 kB

Active(file):       1408 kB

Inactive(file):    19648 kB

Unevictable:           0 kB

Mlocked:               0 kB

SwapTotal:             0 kB

SwapFree:              0 kB

Dirty:                 0 kB

Writeback:             0 kB

AnonPages:           392 kB

Mapped:             1516 kB

Slab:               4852 kB

SReclaimable:        640 kB

SUnreclaim:         4212 kB

PageTables:           72 kB

NFS_Unstable:          0 kB

Bounce:                0 kB

WritebackTmp:          0 kB

CommitLimit:       29944 kB

Committed_AS:        952 kB

VmallocTotal:    1048404 kB

VmallocUsed:        3084 kB

VmallocChunk:    1038384 kB

# cat /proc/slabinfo

slabinfo - version: 2.1

# name            <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <limit> <batchcount> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail>

scsi_sense_cache       1     40     96   40    1 : tunables  120   60    0 : slabdata      1      1      0

scsi_cmd_cache         1     24    160   24    1 : tunables  120   60    0 : slabdata      1      1      0

rpc_buffers            8      8   2048    2    1 : tunables   24   12    0 : slabdata      4      4      0

rpc_tasks              8     24    160   24    1 : tunables  120   60    0 : slabdata      1      1      0

rpc_inode_cache        0      0    416    9    1 : tunables   54   27    0 : slabdata      0      0      0

cfq_io_context         2     40     96   40    1 : tunables  120   60    0 : slabdata      1      1      0

cfq_queue              2     44     88   44    1 : tunables  120   60    0 : slabdata      1      1      0

fuse_request           0      0    376   10    1 : tunables   54   27    0 : slabdata      0      0      0

fuse_inode             0      0    384   10    1 : tunables   54   27    0 : slabdata      0      0      0

jffs2_inode_cache     19    145     24  145    1 : tunables  120   60    0 : slabdata      1      1      0

jffs2_node_frag       94    145     24  145    1 : tunables  120   60    0 : slabdata      1      1      0

jffs2_refblock        12     16    248   16    1 : tunables  120   60    0 : slabdata      1      1      0

jffs2_tmp_dnode        0      0     32  113    1 : tunables  120   60    0 : slabdata      0      0      0

jffs2_raw_inode        0      0     68   56    1 : tunables  120   60    0 : slabdata      0      0      0

jffs2_raw_dirent       0      0     40   92    1 : tunables  120   60    0 : slabdata      0      0      0

jffs2_full_dnode      94    203     16  203    1 : tunables  120   60    0 : slabdata      1      1      0

jffs2_i               19     22    336   11    1 : tunables   54   27    0 : slabdata      2      2      0

ntfs_big_inode_cache      0      0    448    9    1 : tunables   54   27    0 : slabdata      0      0      0

ntfs_inode_cache       0      0    152   26    1 : tunables  120   60    0 : slabdata      0      0      0

ntfs_name_cache        0      0    512    8    1 : tunables   54   27    0 : slabdata      0      0      0

ntfs_attr_ctx_cache      0      0     32  113    1 : tunables  120   60    0 : slabdata      0      0      0

ntfs_index_ctx_cache      0      0     64   59    1 : tunables  120   60    0 : slabdata      0      0      0

nfs_direct_cache       0      0     68   56    1 : tunables  120   60    0 : slabdata      0      0      0

nfs_write_data        36     36    448    9    1 : tunables   54   27    0 : slabdata      4      4      0

nfs_read_data         32     36    416    9    1 : tunables   54   27    0 : slabdata      4      4      0

nfs_inode_cache        0      0    552    7    1 : tunables   54   27    0 : slabdata      0      0      0

nfs_page               0      0     64   59    1 : tunables  120   60    0 : slabdata      0      0      0

fat_inode_cache       17     22    352   11    1 : tunables   54   27    0 : slabdata      2      2      0

fat_cache              9    169    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值