ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-4/src/utils/residentMem.c
(Generate patch)

Comparing trunk/OOPSE-4/src/utils/residentMem.c (file contents):
Revision 2027 by gezelter, Tue Feb 15 06:11:22 2005 UTC vs.
Revision 2759 by tim, Wed May 17 21:51:42 2006 UTC

# Line 1 | Line 1
1   #include <config.h>
2   #include <string.h>
3   #include <stdio.h>
4 + #include <stdlib.h>
5 + #ifdef __sgi
6 + #include <unistd.h>
7 + #endif
8  
9 < #define to_string( s ) # s
10 < #define STR_DEFINE(t, s) t = to_string(s)
9 > /*
10 > * returns an estimate of the resident memory size in kB
11 > */
12 > RealType residentMem () {
13  
8
9 double residentMem () {
10
14    FILE* procresults;
15    char buf[150];
16    char* foo;
# Line 16 | Line 19 | double residentMem () {
19    char* psPath;
20  
21    STR_DEFINE(psPath, PSCOMMAND );
22 +
23 +  
24 +  strncpy(pscommand, psPath, strlen(psPath)+1);
25  
26 <  strncpy(pscommand, psPath, strlen(psPath));
21 <
22 < #if PSTYPE == BSD
26 > #ifdef PSTYPE_IS_BSD
27    strcat(pscommand, " ax -o rss");
28   #else
29 + #ifdef PSTYPE_IS_POSIX
30    strcat(pscommand, " -ef -o rss");
31 + #else
32 +  printf("Unknown ps syntax!\n");
33   #endif
34 + #endif
35  
36 +  printf("doing %s\n", pscommand);
37 +
38    procresults = popen(pscommand, "r");
39  
40    totRSS = 0;
# Line 38 | Line 48 | double residentMem () {
48    }
49    pclose(procresults);
50  
51 + #ifdef __sgi
52 +  
53 +  
54 +  totRSS *= getpagesize() / 1024;
55 + #endif
56 +
57 +  
58 +  totRSS *= 1024;
59    return(totRSS);
60  
61   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines