Допустим, у меня есть программа, которая занимает память, например
#include <stdlib.h>
int main()
{
int * a = (int *) calloc (10000000, sizeof(int));
sleep(1);
free(a);
return 0;
}
и скажем, я хочу запустить эту программу несколько раз, используя что-то вроде параллельной команды.
parallel ./a.out ::: `seq 1 10`
Использование / usr / bin / time вернет память параллельной команды, но не память a.out. Есть ли способ получить всю память экземпляров a.out и суммировать их во время параллельной работы? Я не хочу запускать a.out десять раз и вручную добавлять память, потому что это не будет фактически использование памяти во время работы параллели.