gpt4 book ai didi

c++ - Linux:来自内存密集型进程的 system() 而无需 fork

转载 作者:太空狗 更新时间:2023-10-29 12:03:10 38 4
gpt4 key购买 nike

我在 60 GB 的 Linux 机器上有一个大型 C++ 进程(使用 35 GB 以上的 RAM),它需要 system() 来执行某些功能。但是,由于 system() 在内部派生并执行新进程,因此它需要的虚拟内存空间是原始进程 RAM 的两倍。

我知道我可以使用 sysctl 始终启用过度使用内存,从而允许我的进程进行 fork 。但是,是否有 system() 的替代方法可以在不需要那么多虚拟内存的情况下执行新进程?

最佳答案

如果您的实现包括 posix_spawn(),这是一个更可行的替代方案。

#include <spawn.h>

http://fixunix.com/unix/84486-difference-between-spawn-fork.html

关于c++ - Linux:来自内存密集型进程的 system() 而无需 fork ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27307345/

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