Xymon Mailing List Archive search

freebsd-meminfo on amd64

2 messages in this thread

list Rong-En Fan · Sun, 22 Oct 2006 18:07:51 +0800 ·
Hi,

I'm running 4.2.0 and found there is a problem of freebsd-meminfo
on amd64. I have 2G memory and got the following:

Total:2033
Free:31335125091216

Change the following line

        printf("Free:%lu\n", (pagesize / 1024)*(vmdata.t_free / 1024));

to

        printf("Free:%lu\n", ((int)pagesize / 1024)*(vmdata.t_free / 1024));

Then it works as expected.

BTW, I think the logical of free memory can be changed as in

http://people.freebsd.org/~rse/dist/freebsd-memory

In short, logical free memory are inactive + cache + free.

BTW, I'm working on FreeBSD port for Hobbit server. If you are using
Hobbit on FreeBSD and want to test it, please drop me a line privately.

Thanks,
Rong-En Fan
list Rong-En Fan · Sun, 22 Oct 2006 18:15:32 +0800 ·
quoted from Rong-En Fan
On Sun, Oct 22, 2006 at 06:07:51PM +0800, Rong-En Fan wrote:
Hi,

I'm running 4.2.0 and found there is a problem of freebsd-meminfo
on amd64. I have 2G memory and got the following:

Total:2033
Free:31335125091216

Change the following line

        printf("Free:%lu\n", (pagesize / 1024)*(vmdata.t_free / 1024));

to

        printf("Free:%lu\n", ((int)pagesize / 1024)*(vmdata.t_free / 1024));

Then it works as expected.
This is not right. According to sysctl.h, hw.pagesize is a int, so the correct patch should be

-       unsigned long pagesize;
+       int pagesize;


Thanks,
Rong-En Fan