組み込みLinux OOM - RAM損失の問題に役立ちます。

組み込みLinux OOM - RAM損失の問題に役立ちます。

私は256MBのRAMを持つ小さなLinuxシステムを持っています。ちょっと混乱しています。 RAMはどこにありませんか?以前のLinuxカーネル2.6.38を実行してアップグレードできません(一部のARMボード)。

SHMとすべてのtmpfsマウントファイルシステムはほとんど空です。 shmem:448kB

active_anonページですべてを消費しますが、実行中のプロセスはそれに対応しません。 Total_vmは最大90MBまで追加され、冗長、共有メモリ、未割り当てメモリがありますが、active_anonは235MBを報告します。なぜ?この問題をどのように解決できますか?カーネルにメモリリークがありますか?

関連するdmesgです。

    Mem-info:
    Normal per-cpu:
    CPU    0: hi:   90, btch:  15 usd:  14
    active_anon:60256 inactive_anon:67 isolated_anon:0
     active_file:0 inactive_file:185 isolated_file:0
     unevictable:0 dirty:0 writeback:0 unstable:0
     free:507 slab_reclaimable:120 slab_unreclaimable:463
     mapped:108 shmem:112 pagetables:217 bounce:0
    Normal free:2028kB min:2036kB low:2544kB high:3052kB active_anon:241024kB inactive_anon:268kB active_file:0kB inactive_file:740kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:260096kB mlocked:0k
    lowmem_reserve[]: 0 0
    Normal: 37*4kB 139*8kB 42*16kB 1*32kB 1*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 2028kB
    305 total pagecache pages
    65536 pages of RAM
    622 free pages
    1976 reserved pages
    404 slab pages
    393 pages shared
    0 pages swap cached
    [ pid ]   uid  tgid total_vm      rss cpu oom_adj oom_score_adj name
    [  713]     0   713      666       40   0       0             0 busybox
    [  719]     0   719      634       18   0       0             0 busybox
    [  725]     0   725      634       15   0       0             0 busybox
    [  740]     0   740      654       19   0       0             0 inetd
    [  752]     0   752      634       17   0       0             0 ifplugd
    [  761]     0   761      634       21   0       0             0 busybox
    [  790]     0   790     4297      110   0       0             0 app
    [  792]     0   792      635       15   0       0             0 getty
    [  812]     0   812      634       16   0       0             0 exe
    [  849]   101   849      630       57   0       0             0 lighttpd
    [  850]   101   850     3005      218   0       0             0 php-cgi
    [  851]   101   851     3005      218   0       0             0 php-cgi
    [ 3172]     0  3172    72156    59739   0       0             0 app
    [ 3193]     0  3193      675       23   0       0             0 ntpd
    [ 4003]     0  4003      634       15   0       0             0 ntpd_prog
    [ 4004]     0  4004      634       15   0       0             0 hwclock
    [ 4005]     0  4005      634       20   0       0             0 hwclock
    Out of memory: Kill process 3172 (app) score 912 or sacrifice child
    Killed process 3172 (app) total-vm:288624kB, anon-rss:238684kB, file-rss:272kB

インストールされているファイルシステムのリストです。ルートファイルシステムは MTD フラッシュから YAFFS2 を読み書きします。

rootfs on / type rootfs (rw)
/dev/root on / type yaffs2 (rw,relatime)
none on /proc type proc (rw,relatime)
none on /sys type sysfs (rw,relatime)
mdev on /dev type tmpfs (rw,nosuid,relatime,size=10240k,mode=755)
none on /proc/bus/usb type usbfs (rw,relatime)
none on /dev/pts type devpts (rw,relatime,mode=622)
shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime)
none on /tmp type tmpfs (rw,relatime,size=102400k,mode=777)
none on /run type tmpfs (rw,relatime,size=10240k,mode=755)

ベストアンサー1

Total_vmは私が誤って計算し、OOMレポートは正確でした。app59739ページ(233MB)が割り当てられています。これがOOMの正しい理由です。

おすすめ記事