Date: Tue, 13 May 2014 03:28:24 -0500 From: Scot Hetzel <swhetzel@gmail.com> To: FreeBSD Ports <freebsd-ports@freebsd.org> Subject: Re: Patch wanted: VmRSS, VmSize and VmStk in /proc/pid/status Message-ID: <CACdU%2Bf-h-kR%2BT%2BGTXH_u1zhQwk5jD9aEO6rQD6eQTn_rWb8eug@mail.gmail.com> In-Reply-To: <20140512213551.GE60374@graf.pompo.net> References: <20140512213551.GE60374@graf.pompo.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, May 12, 2014 at 4:35 PM, Thierry Thomas <thierry@freebsd.org> wrote: > Hello, > > In the new versions of french/aster, there is this piece of Linux code: > > ----------------------------------------------------------- > static char filename[80]; > static char sbuf[1024]; > char* S; > int fd, num_read; > long lmem; > pid_t numpro; > > pid_t getpid(void); > > numpro = getpid(); > > sprintf(filename, "/proc/%ld/status", (long)numpro); > fd = open(filename, O_RDONLY, 0); > if (fd==-1) return -1; > num_read=read(fd,sbuf,(sizeof sbuf)-1); > close(fd); > > S=strstr(sbuf,"VmData:")+8; > val[0] = (INTEGER)atoi(S); > > S=strstr(sbuf,"VmSize:")+8; > val[1] = (INTEGER)atoi(S); > > if ( strstr(sbuf,"VmPeak:") != NULL ) { > S=strstr(sbuf,"VmPeak:")+8; > val[2] = atoi(S); > } else { > val[2] = -1 ; > } > > S=strstr(sbuf,"VmRSS:")+7; > val[3] = (INTEGER)atoi(S); > > S=strstr(sbuf,"VmStk:")+7; > lmem = atoi(S); > return lmem ; > ----------------------------------------------------------- > > Of course, it does'nt work on FreeBSD, because our status has a > different structure. > > As a quick & dirty work-around, I patched it to replace /proc by > /compat/linux/proc and it works. Unfortunately, this is not a good > solution, because this port is no more packageable (this piece of code > is run at the end of the build). > > It's why I'm looking for help here: does somebody knows how the > corresponding values of these Vm... can be found in FreeBSD? > You could try reading the source for linprocfs to see how it gets those values: https://svnweb.freebsd.org/base/head/sys/compat/linprocfs/linprocfs.c?revision=263620&view=markup#l748 -- DISCLAIMER: No electrons were maimed while sending this message. Only slightly bruised.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACdU%2Bf-h-kR%2BT%2BGTXH_u1zhQwk5jD9aEO6rQD6eQTn_rWb8eug>