gpt4 book ai didi

c - 如何继续 fork 进程,直到 "almost"内存不足

转载 作者:行者123 更新时间:2023-11-30 19:27:06 25 4
gpt4 key购买 nike

我想继续 fork 一个进程,直到我的内存几乎耗尽为止。我如何知道我可以 fork 一个进程多少次而不崩溃?

最佳答案

这里是计算估算的程序(使用 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;
}

请注意,这只是一个估计,当应用程序达到内存使用峰值时,您可能需要在应用程序内运行此代码。

关于c - 如何继续 fork 进程,直到 "almost"内存不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56089550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com