ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/libstatgrab/src/libstatgrab/memory_stats.c
(Generate patch)

Comparing projects/libstatgrab/src/libstatgrab/memory_stats.c (file contents):
Revision 1.7 by tdb, Sun Aug 24 20:24:09 2003 UTC vs.
Revision 1.8 by tdb, Sat Oct 18 12:28:32 2003 UTC

# Line 54 | Line 54 | mem_stat_t *get_memory_stats(){
54          FILE *f;
55   #endif
56   #ifdef FREEBSD
57 <        long inactive;
57 >        u_int free_count;
58 >        u_int cache_count;
59 >        u_int inactive_count;
60 >        u_int physmem;
61          size_t size;
62          int pagesize;
63   #endif
# Line 115 | Line 118 | mem_stat_t *get_memory_stats(){
118   #endif
119  
120   #ifdef FREEBSD
121 <        /* Returns byes */
121 >        /* Returns bytes */
122          if (sysctlbyname("hw.physmem", NULL, &size, NULL, NULL) < 0){
123                  return NULL;
124          }
125 <        if (sysctlbyname("hw.physmem", &mem_stat.total, &size, NULL, NULL) < 0){
125 >        if (sysctlbyname("hw.physmem", &physmem, &size, NULL, NULL) < 0){
126                  return NULL;
127          }
128  
# Line 127 | Line 130 | mem_stat_t *get_memory_stats(){
130          if (sysctlbyname("vm.stats.vm.v_free_count", NULL, &size, NULL, NULL) < 0){
131                  return NULL;
132          }
133 <        if (sysctlbyname("vm.stats.vm.v_free_count", &mem_stat.free, &size, NULL, NULL) < 0){
133 >        if (sysctlbyname("vm.stats.vm.v_free_count", &free_count, &size, NULL, NULL) < 0){
134                  return NULL;
135          }
136  
137          if (sysctlbyname("vm.stats.vm.v_inactive_count", NULL, &size, NULL, NULL) < 0){
138                  return NULL;
139          }
140 <        if (sysctlbyname("vm.stats.vm.v_inactive_count", &inactive , &size, NULL, NULL) < 0){
140 >        if (sysctlbyname("vm.stats.vm.v_inactive_count", &inactive_count , &size, NULL, NULL) < 0){
141                  return NULL;
142          }
143  
144          if (sysctlbyname("vm.stats.vm.v_cache_count", NULL, &size, NULL, NULL) < 0){
145                  return NULL;
146          }
147 <        if (sysctlbyname("vm.stats.vm.v_cache_count", &mem_stat.cache, &size, NULL, NULL) < 0){
147 >        if (sysctlbyname("vm.stats.vm.v_cache_count", &cache_count, &size, NULL, NULL) < 0){
148                  return NULL;
149          }
150  
151 <        /* Because all the vm.stats returns pages, i need to get the page size.
152 <         * After that i then need to multiple the anything that used vm.stats to get
153 <         * the system statistics by pagesize
151 >        /* Because all the vm.stats returns pages, I need to get the page size.
152 >         * After that I then need to multiple the anything that used vm.stats to
153 >         * get the system statistics by pagesize
154           */
155          if ((pagesize=getpagesize()) == -1){
156                  return NULL;
157          }
158  
159 <        mem_stat.cache=mem_stat.cache*pagesize;
160 <        /* Of couse nothing is ever that simple :) And i have inactive pages to deal
158 <         * with too. So im goingto add them to free memory :)
159 <         */
160 <        mem_stat.free=(mem_stat.free*pagesize)+(inactive*pagesize);
161 <        
162 <        mem_stat.used=mem_stat.total-mem_stat.free;
159 >        mem_stat.total=physmem;
160 >        mem_stat.cache=cache_count*pagesize;
161  
162 +        /* Of couse nothing is ever that simple :) And I have inactive pages to
163 +         * deal with too. So I'm going to add them to free memory :)
164 +         */
165 +        mem_stat.free=(free_count*pagesize)+(inactive_count*pagesize);
166 +        mem_stat.used=physmem-mem_stat.free;
167   #endif
168  
169          return &mem_stat;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines