Date: Tue, 24 Jan 2006 14:23:17 -0300 From: Fernan Aguero <fernan@iib.unsam.edu.ar> To: FreeBSD Ports <ports@FreeBSD.ORG> Subject: porting an app that checks /proc/meminfo Message-ID: <20060124172317.GF72149@iib.unsam.edu.ar>
next in thread | raw e-mail | index | archive | help
Hi! I've got a port ready for muscle WWW: http://www.drive5.com/muscle/ Port: http://genoma.unsam.edu.ar/~fernan/freebsd/muscle.shar The program builds fine, but because it uses /proc/meminfo to check for available memory, when you run it, it will complain about the lack of /proc/meminfo and won't let you do anything. The author, has suggested a hack (see globalslinux.cpp and patch-globalslinux.cpp in the port) that disables the function that returns the amount of memory used by muscle and the amount of RAM available in the computer. With this patch muscle runs fine but i) the progress messages will give incorrect values for current memory use & fraction of available RAM and ii) muscle may fail to fail gracefully when it runs out of memory, it may just crash. I'm not a C programmer, and the author is not familiar with BSD internals ... I'm trying to help by pointing him in the right direction. So my question can be summarized as: How does one gets the values of i) memory used by the program/process and ii) amount of RAM available in the computer without using /proc/meminfo in FreeBSD? Suggestion of places to look (man pages) and/or examples in C are welcomed. The functions that need to be modified are GetMemUseMB and GetRAMSizeMB in globalslinux.cpp. OTOH, I know we have linprocfs ... but AFAIK it will mount under /compat/linux/proc ... and given that the muscle executable is FreeBSD native it will not check there ... am I right? Thanks in advance, Fernan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060124172317.GF72149>