程序:
我为大量数据创建了一个 C++ 计算程序,它可以在 1 个或多个线程上运行。(通过配置文件)
程序环境如下:C++、OpenMp、Redhat-x64、malloc/free
Linux 上的结果:
- 当我在 1 个线程上运行它时,进程大小为 177 MB。
- 当我在 2 个线程上运行它时,进程大小为 317 MB。
- 当我在 4 个线程上运行它时,进程大小为 600 MB。
Windows 上的结果:
- 无论使用多少线程,进程大小仍然相同,为 110MB。
问题:
为什么在 Linux 上使用更多线程时内存消耗会增加?