Don’t feel bad—this is an issue usually reserved for Linux system admins. Linux commands are just like their Unix predecessors–information dense, but not friendly if you don’t know what you’re looking at. Embedded Linux systems use FLASH memory as the “disk drive”, the permanent storage that retains data even when the power is off. “Memory” is RAM (Random Access Memory) which may be written and read as often as desired at very high speed, but does not retain data when the power is off.
FLASH memory in embedded systems has limitations on how often it may be read and written before damage occurs to the memory cells. FLASH memory controller chips or system software is supposed to be responsible for “wear-leveling” to keep track of which blocks are used and to spread the workload across all the blocks. Good system software design tries to avoid reading and writing the FLASH as much as possible.
To help this problem, Linux has software, tempfs, that can use a portion of the RAM as a filesystem. Programs use this instead of the FLASH for temporary files. When Vera boots, all the operational code is copied from FLASH into RAM, and runs from there. Temporary files are created in the tempfs in RAM.
Vera Plus seems to allocate 50% of the RAM (128MB of 256MB total) to the tempfs. This is pretty typical for an embedded Linux system of this complexity. That leaves 128MB of RAM for all of the running code, plus buffers and scratchpad use,unless something goes wrong and an out-of-control process fills up the RAM. 128MB of RAM should be plenty under normal use, and the tempfs can be adjusted to be any size desired, if more RAM is needed.
My production VP shows this in response to the “free” command, which shows RAM use:
total used free shared buffers
Mem: 255492 114868 140624 0 10308
-/+ buffers: 104560 150932
Swap: 0 0 0
114MB is in use, with 140MB free. This is the RAM, not the FLASH.
If you run the “du -h” command, it will show you everything in the FLASH filesystem with totals. Mine shows 119MB used. There is also a boot loader stored in the FLASH that does not show in the Linux filesystem since it isn’t part of it, but does take space on the FLASH chip. If the FLASH chip is 128MB, then it’s pretty full.
If we run the “df -h” command, we’ll see free space in the filesystem. The first thing to note is the 128MB of tempfs, which is RAM, not FLASH. But it is part of the filesystem and is displayed in this command.
The entries for devices, e.g /dev/mtdblock10 are parts of the FLASH memory, our “disk.” The devices are in turn mounted on the filesystem, for example /etc/cmh-firmware. This is how the physical device is connected to the logical device.
Here’s my overlay filesystem:
overlayfs:/overlay 8.6M 5.8M 2.9M 67% /
This is after weeding out unused plug-in files, and the 2+MB of regional Z-wave HEX files.
I have no idea why Vera has such small partitions, or why they can’t make the install script check before it gets into trouble, and clean up extraneous files. I took a quick look at the file system and it looks like there is a bunch of OpenWRT OS stuff that may not be needed for Vera. Perhaps they should take a look at that…
I see that akbooer has given you a script to check on the free space on /overlay. Kudos to him, and I hope it helps your system.