better rounding function for sigar_mem_calc_ram
This commit is contained in:
parent
071ca22aba
commit
8e5ff7d47d
|
@ -312,12 +312,12 @@ int sigar_proc_count(sigar_t *sigar, sigar_uint64_t *total)
|
||||||
|
|
||||||
int sigar_mem_calc_ram(sigar_t *sigar, sigar_mem_t *mem)
|
int sigar_mem_calc_ram(sigar_t *sigar, sigar_mem_t *mem)
|
||||||
{
|
{
|
||||||
sigar_uint64_t lram = (mem->total / (1024 * 1024));
|
sigar_uint64_t total = (mem->total / (1024 * 1024));
|
||||||
int ram = (int)lram; /* must cast after division */
|
int size = (int)total; /* must cast after division */
|
||||||
int remainder = ram % 8;
|
int ram;
|
||||||
|
|
||||||
if (remainder > 0) {
|
for (ram=1; size; size >>= 1) {
|
||||||
ram += (8 - remainder);
|
ram <<= 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
mem->ram = ram;
|
mem->ram = ram;
|
||||||
|
|
Loading…
Reference in New Issue