The virsh-command freecell hands out bytes but affixes those with kB.
The error ist found in virsh.c on line 1663 and following.
I have corrected this and altered the output to the method i chose for
virt-manager - in the days of 96 GB per socket (Nehalem-EP) no one cares
even about a fraction of a Megabyte.
--- a/src/virsh.c 2009-04-02 17:45:50.000000000 +0200
+++ b/src/virsh.c 2009-04-02 23:35:54.000000000 +0200
@@ -1661,10 +1661,23 @@
}
if (cell == -1)
- vshPrint(ctl, "%s: %llu kB\n", _("Total"), memory);
+ if (memory < 10*1024*1204*1024)
+ {
+ vshPrint(ctl, "%s: %.0f MB\n", _("Total"),
(float)memory/1024/1024);
+ }
+ else
+ {
+ vshPrint(ctl, "%s: %.2f GB\n", _("Total"),
(float)memory/1024/1024/1024);
+ }
else
- vshPrint(ctl, "%d: %llu kB\n", cell, memory);
-
+ if (memory < 10*1024*1204*1024)
+ {
+ vshPrint(ctl, "%d: %.0f MB\n", cell,
(float)memory/1024/1024);
+ }
+ else
+ {
+ vshPrint(ctl, "%d: %.2f GB\n", cell,
(float)memory/1024/1024/1024);
+ }
return TRUE;
}
eg:
rr016# virsh freecell; free -m
0: 24 MB
total used free shared buffers cached
Mem: 3884 3859 24 0 60 1306
-/+ buffers/cache: 2492 1392
Swap: 2047 248 1798
rr017# virsh freecell; free -m
0: 1490 MB
total used free shared buffers cached
Mem: 2991 1501 1489 0 100 1283
-/+ buffers/cache: 117 2873
Swap: 2047 0 2047
rr019# virsh freecell; free -m
0: 1616 MB
total used free shared buffers cached
Mem: 3952 2337 1615 0 5 1209
-/+ buffers/cache: 1121 2831
Swap: 2047 0 2047
Is this okay with you? Or just the fix for the output removing the
kB-suffix.