Processor: ARM926EJ
Memory :
RAM : 20MB (Total 32M, but 12MB is used for HW)
FLASH: 8M. (Used ratio: 90%)
Kernel:2.6.14 (arm)
LIB: uclibc

MyApplication: (named myapp)
$>cat /proc/meminfo

MemTotal: 18404 kB
MemFree: 1332 kB
Buffers: 84 kB
Cached: 7788 kB
SwapCached: 0 kB
Active: 10320 kB
Inactive: 1384 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 18404 kB
LowFree: 1332 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 0 kB
Writeback: 0 kB
Mapped: 7352 kB
Slab: 2176 kB
CommitLimit: 9200 kB
Committed_AS: 13440 kB
PageTables: 256 kB
VmallocTotal: 237568 kB
VmallocUsed: 15440 kB
VmallocChunk: 221564 kB
My Question:

when myapp running , it will sometimes be KILLED.
one scene is the screen only display
** killed
the other scene is
** oom killed
in this scene, screen print the kernel's message.
the two KILLED scene had not generate CORE DUMP file.

it often happen when the meminfo shows the "MemFree " less then 800kb.

my system is always recording some information to the SD CARD, (VFAT filesystem).

1) Is it says that my system have NOT ENOUGH mem to run myapp?
2) Howto know how many memory the all system need? include the kernel.