Die folgenden drei Ausgaben wurden im Wesentlichen gleichzeitig vorgenommen:
oben:
top - 02:54:36 up 2 days, 13:50, 3 users, load average: 0.05, 0.05, 0.09
Tasks: 181 total, 1 running, 179 sleeping, 0 stopped, 1 zombie
%Cpu(s): 2.5 us, 0.8 sy, 0.0 ni, 96.6 id, 0.1 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 16158632 total, 11234480 used, 4924152 free, 844 buffers
KiB Swap: 16777212 total, 0 used, 16777212 free, 10640832 cached
frei -h:
total used free shared buffers cached
Mem: 15G 10G 4.7G 0B 844K 10G
-/+ buffers/cache: 578M 14G
Swap: 15G 0B 15G
htop:
frei und top scheinen zuzustimmen. Oben werden 11234480 KiB verwendet. Wenn 10640832 KiB zwischengespeichert werden, erhalten Sie 579,7 MiB, was ziemlich nahe an den kostenlosen Berichten unter den verwendeten +/- Puffern / Cache liegt.
Allerdings meldet htop 1836 (MiB) verwendet, was meines Erachtens weder hier noch dort ist. Woher kommt dieser Unterschied? htop enthält die zwischengespeicherten Daten eindeutig nicht, meldet jedoch immer noch mehr als das Dreifache der Speichernutzung von free oder top.
Ich bin mir bewusst, dass es viele ähnliche Fragen gibt, aber ich bin nicht auf eine gestoßen, die diese Diskrepanz erklärt (die Verwirrung scheint normalerweise nur die mit / ohne Cache-Zählung zu sein).
Bearbeiten: Ich sollte erwähnen, dass ich openSUSE ausführe und in Version 12.2 und 12.3 RC1 die gleiche Diskrepanz sehe.
Edit2: Die enthaltene Version von htop ist 1.0.1. Ich habe auch Version 1.0.2 aus dem Quellcode kompiliert und sehe dann auch die gleiche Diskrepanz.