Filling RAM
Hi,
I am seeing that as files are created, their approximate size is subtracted from the available memory. For example, assume I have /home mounted from /dev/mtdblock2, which is a jffs2 filesystem on NOR flash. The following procedure reproduces the problem consistently:
[code]
]# cat /proc/mounts
rootfs / rootfs rw 0 0
/proc /proc proc rw 0 0 sysfs /sys sysfs rw 0 0
/dev/mtdblock2 /home jffs2 rw,sync 0 0
]# cd /home
]# grep MemFree /proc/meminfo
22588 kB
]# dd if=/dev/zero of=1M.dat bs=1M count=1
...
]# grep MemFree /proc/meminfo
21522 kB
]# rm 1M.dat
]# grep MemFree /proc/meminfo
22576 kB
[/code]
I'm fairly certain the file does get written to flash as it is noticeably slower than creating a file of the same size in ramfs. So it seems like the file is stored in RAM as well, how/why would this happen?
ps - XATTRS is off, JFFS2_SUMMARY is off, JFFS2_VERBOSITY = 0,
Any help is greatly appreciated.
Quoted 8 lines · DMcLeod
I am seeing that as files are created, their approximate size is subtracted from the available memory. For example, assume I have /home mounted from
/dev/mtdblock2, which is a jffs2 filesystem on NOR flash.
...
]# cd /home
]# grep MemFree/proc/meminfo
22588 kB
...
MemFree in /proc/meminfo is not a good indicator of how much available memory there is to the system. Linux tends to gobble up memory for file buffers etc, freeing them on an as-needed basis. IIUC MemFree principally indicates how much memory has never been touched, not how much is actually available.
/Ricard
--
Ricard Wolf Wanderlöf ricardw(at)axis.com
Axis Communications AB, Lund, Sweden www.axis.com
Phone +46 46 272 2016 Fax +46 46 13 61 30