The memory plugin displays wrong apps memory on a EM64T linux kernel:
shell# munin-run memory
slab.value 19378176
swap_cache.value 0
page_tables.value 1720320
vmalloc_used.value 273412096
apps.value -151425024 <<<------ This is wrong
free.value 1777823744
buffers.value 62410752
cached.value 120373248
swap.value 0
committed.value 1112686592
mapped.value 119115776
active.value 193667072
inactive.value 94326784
shell# uname -r
2.6.8-11-em64t-p4-smp
shell# cat /proc/meminfo
MemTotal: 2054388 kB
MemFree: 1733732 kB
Buffers: 61440 kB
Cached: 120868 kB
SwapCached: 0 kB
Active: 189948 kB
Inactive: 93612 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 2054388 kB
LowFree: 1733732 kB
SwapTotal: 3903784 kB
SwapFree: 3903784 kB
Dirty: 1028 kB
Writeback: 0 kB
Mapped: 114920 kB
Slab: 19084 kB
Committed_AS: 1093108 kB
PageTables: 1660 kB
VmallocTotal: 536870911 kB
VmallocUsed: 267004 kB
shell# tail -n 21 /proc/cpuinfo
processor : 3
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Intel(R) Xeon(TM) CPU 3.40GHz
stepping : 3
cpu MHz : 3400.239
cache size : 0 KB
physical id : 3
siblings : 2
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall lm
pni monitor ds_cpl tm2 cid cmpxchg16b
bogomips : 6782.97
clflush size : 64
cache_alignment : 128
address sizes : 36 bits physical, 48 bits virtual
power management:
In the plugin, the following computation give the wrong result:
print "apps.value ", $mems{'MemTotal'}
-$mems{'MemFree'}
-$mems{'Buffers'}
-$mems{'Cached'}
-$mems{'SwapCached'}
-$mems{'Slab'}
-$mems{'PageTables'}
-$mems{'VmallocUsed'}
,"\n";
The plugin worked fine with the old kernel (which was compiled for 686: 2.6.8-2-686-smp).