Вот программа для расчета оценки (с использованием Linux API):
#include <sys/resource.h>
#include <sys/sysinfo.h>
#include <stdio.h>
unsigned long maxmem() {
struct sysinfo info;
if (sysinfo(&info) < 0)
return 0;
return info.freeram;
}
long getmem(void) {
struct rusage r_usage;
getrusage(RUSAGE_SELF,&r_usage);
return r_usage.ru_maxrss;
}
int main() {
printf("Can fork %d times. Mfm: %d, upp: %d\n", maxmem() / 1024 / getmem(), maxmem() / 1024, getmem());
return 0;
}
Обратите внимание, что это только оценка, вам может понадобиться запустить этот код внутри приложения, когда он достигнет пика использования памяти.