23#include "hardware.inc"
28#if CPP_mach==CPP_linux || CPP_mach == CPP_linux64_spmd || CPP_mach == CPP_p4linux964_spmd || CPP_mach == CPP_il_spmd || CPP_mach == CPP_il || CPP_mach == CPP_linux_spmd || CPP_mach == CPP_linux || CPP_mach == CPP_linux964 || CPP_mach == CPP_p4linux964 || CPP_mach == CPP_p4linux932
40void map_memory(
int * VmPeak,
int *VmSize,
int *VmRSS,
int *VmHWM,
int *VmStk )
44 char fil[512],cmd_line[512],line[512],str1[128],str2[128],size[128],size2[128],size3[128],size4[128],size5[128];
46 int i,
slen,non_convertible,nreadi,VmP,VmS;
50 sprintf(fil,
"/proc/%i/status",pid);
51 stream = fopen(fil,
"r");
59 while (fgets(line,512,stream)){
60 if (strncmp(line,
"VmPeak",6)==0){
61 sscanf(line,
"%s %s %s",str1,size,str2);
62 *VmPeak=atoi(size)/1024;
65 if (strncmp(line,
"VmSize",6)==0){
66 sscanf(line,
"%s %s %s",str1,size2,str2);
67 *VmSize=atoi(size2)/1024;
70 if (strncmp(line,
"VmRSS:",6)==0){
71 sscanf(line,
"%s %s %s",str1,size3,str2);
72 *VmRSS=atoi(size3)/1024;
75 if (strncmp(line,
"VmHWM:",6)==0){
76 sscanf(line,
"%s %s %s",str1,size4,str2);
77 *VmHWM=atoi(size4)/1024;
80 if (strncmp(line,
"VmStk:",6)==0){
81 sscanf(line,
"%s %s %s",str1,size5,str2);
82 *VmStk=atoi(size5)/1024;
94 char fil[512],cmd_line[512],line[512],str1[128],str2[128],size[128],size2[128],size3[128],size4[128];
96 int i,
slen,non_convertible,nreadi,VmP,VmS;
100 sprintf(fil,
"/proc/%i/status",pid);
101 stream = fopen(fil,
"r");
104 while (fgets(line,512,stream)){
105 if (strncmp(line,
"VmPeak",6)==0){
106 sscanf(line,
"%s %s %s",str1,size,str2);
107 printf(
" %s %s %s \n",str1,size,str2);
110 if (strncmp(line,
"VmSize",6)==0){
111 sscanf(line,
"%s %s %s",str1,size2,str2);
112 printf(
" %s %s %s \n",str1,size2,str2);
114 if (strncmp(line,
"VmRSS:",6)==0){
115 sscanf(line,
"%s %s %s",str1,size3,str2);
116 printf(
" %s %s %s \n",str1,size3,str2);
118 if (strncmp(line,
"VmHWM:",6)==0){
119 sscanf(line,
"%s %s %s",str1,size4,str2);
120 printf(
" %s %s %s \n",str1,size4,str2);
122 if (strncmp(line,
"VmStk:",6)==0){
123 sscanf(line,
"%s %s %s",str1,size4,str2);
124 printf(
" %s %s %s \n",str1,size4,str2);
136 char fil[512],cmd_line[512],line[512],str1[128],str2[128],size[128],size2[128];
138 int i,
slen,non_convertible,nreadi,VmP,VmS;
143 sprintf(fil,
"/proc/%i/status",pid);
144 stream = fopen(fil,
"r");
147 while (fgets(line,512,stream)){
148 if (strncmp(line,
"VmPeak",6)==0){
150 sscanf(line,
"%s %s %s",str1,size,str2);
153 if (strncmp(line,
"VmSize",6)==0){
155 sscanf(line,
"%s %s %s",str1,size2,str2);
162 for (i=0;i<
slen;i++){
if (size[i] <
'0' && size[i] >
'9') non_convertible=1;}
163 if (non_convertible==0){*memsize = atoi(size)/1024;}
else{*memsize = -1;}
167 slen = strlen(size2);
168 for (i=0;i<
slen;i++){
169 if (size2[i] <
'0' && size2[i] >
'9') non_convertible=1;
171 if (non_convertible==0){*memsize = atoi(size2)/1024;}
else{*memsize = -1;}
172 }
else {*memsize = -1;}
178#elif CPP_mach==CPP_p4win64_spmd || CPP_mach==CPP_win64_spmd || CPP_mach==CPP_p4win64 || CPP_mach==CPP_p4win32
189 PROCESS_MEMORY_COUNTERS MemInfo;
191 GetProcessMemoryInfo(GetCurrentProcess(), &MemInfo,
sizeof(MemInfo));
192 *memsize = MemInfo.PeakWorkingSetSize / 1048576;
196void map_memory(
int * VmPeak,
int *VmSize,
int *VmRSS,
int *VmHWM,
int *VmStk )
200 char fil[512],cmd_line[512],line[512],str1[128],str2[128],size[128],size2[128],size3[128],size4[128],size5[128];
202 int i,
slen,non_convertible,nreadi,VmP,VmS;
203 PROCESS_MEMORY_COUNTERS MemInfo;
211 GetProcessMemoryInfo(GetCurrentProcess(), &MemInfo,
sizeof(MemInfo));
213 *VmPeak = MemInfo.PeakWorkingSetSize / 1048576;
214 *VmSize = MemInfo.WorkingSetSize / 1048576;
230void map_memory(
int * VmPeak,
int *VmSize,
int *VmRSS,
int *VmHWM,
int *VmStk )
261 printf(
"Not Available under Windows\n");
266void map_memory_(
int * VmPeak,
int *VmSize,
int *VmRSS,
int *VmHWM,
int *VmStk )
271void map_memory__(
int * VmPeak,
int *VmSize,
int *VmRSS,
int *VmHWM,
int *VmStk )
void _FCALL MEMORY_STATS_C()
void map_memory_(int *VmPeak, int *VmSize, int *VmRSS, int *VmHWM, int *VmStk)
void memory_use_c(int *memsize)
void memory_use_c__(int *memsize)
void map_memory__(int *VmPeak, int *VmSize, int *VmRSS, int *VmHWM, int *VmStk)
void memory_use_c_(int *memsize)
void _FCALL MAP_MEMORY(int *VmPeak, int *VmSize, int *VmRSS, int *VmHWM, int *VmStk)
void map_memory(int *VmPeak, int *VmSize, int *VmRSS, int *VmHWM, int *VmStk)
void _FCALL MEMORY_USE_C(int *memsize)
subroutine slen(x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, j, area, aream)