critical RAM memory issues!
Username: psyborg
Origin: https://bugs.openwrt.org/index.php?do=details&task_id=1636
seems like there are at least several inconsistencies when it comes to memory operations, reducing total available RAM and causing hangs on 32M devices which should work just fine as they did with old releases.
example: meminfo shows less cached memory than there actually is according to free and vmstat commands, process that is fetching this informations to luci calculates incorrectly available and free memory... all this resulting that you can’t sysupgrade 8MB image without bricking device
root@OpenWrt:~# free
total used free shared buff/cache available
Mem: 27908 11308 2472 416 14128 13700
Swap: 0 0 0
root@OpenWrt:~# vmstat
procs ———–memory———- —swap– —–io—- -system– ——cpu—– r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 2396 3304 10904 0 0 0 0 187 245 11 14 75 0 0
root@OpenWrt:~# cat /proc/meminfo
MemTotal: 27908 kB
MemFree: 2404 kB
MemAvailable: 13716 kB
Buffers: 3304 kB
Cached: 8548 kB
SwapCached: 0 kB
Active: 8196 kB
Inactive: 4876 kB
Active(anon): 1472 kB
Inactive(anon): 164 kB
Active(file): 6724 kB
Inactive(file): 4712 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 1228 kB
Mapped: 2364 kB
Shmem: 416 kB
Slab: 6360 kB
SReclaimable: 2360 kB
SUnreclaim: 4000 kB
KernelStack: 296 kB
PageTables: 176 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 13952 kB
Committed_AS: 3608 kB
VmallocTotal: 1048372 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
Total Available
4956 kB / 27908 kB (17%)
Free
1652 kB / 27908 kB (5%)
Buffered
3304 kB / 27908 kB (11%)
switched from r49946 to r50108 and cannot run membench_11.4 on newer build since it crashed with klog msg out of memory.
after running membench_11.4 on r49946 Total Available in luci would increase from 5-6K to 11K
also r50108 only 27908 total, before it was something like 28302.
current trunk has this issue too, reducing and splitting memory to numerous meaningless processes is a lousy kernel develeopers responsibility