|Anonymous | Login||2021-10-23 16:38 UTC|
|My View | View Issues | Change Log | Roadmap|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0000170||OMNeT++||IDE / generic||public||2010-06-15 09:09||2010-06-15 09:47|
|Target Version||Fixed in Version|
|Summary||0000170: Build with "Use optimal job number"/"make -j" (without number) blocks whole system|
|Description||I'm using OMNeT++ (btw, a great simulator!) in conjunction with the INET framework. To speed up the compilation of the framework, I selected in the INET framework project options under |
C/C++ Build -> Behavior
the option "Use parallel build" and left the standard "Use optimal job number". As soon as the compilation process starts, my memory starts filling up very quickly, the number of "cc1plus" jobs created goes up sort of like a fork bomb and after a few seconds the whole systems stands still, even system monitors like conky and the mouse cursor don't update anymore. The HDD is constantly busy, I suppose swapping.
I found out that the same effect happens also when building the INET framework from CLI using "make -j" without specifying the number of jobs.
Maybe here's the wrong place to report this problem, but as I'm not sure where the problem actually is exactly (make system of INET, of OMNeT or a general GCC or make problem) I write it anyway, as this effect can be quite surprising as you don't really expect it when selecting "Use optimal job number" (which would be 4 or 5 on my system).
|Additional Information||Environment: Ubuntu 10.04 64 bit:|
2.6.32-22-generic 0000036-Ubuntu SMP Thu Jun 3 19:31:57 UTC 2010 x86_64 GNU/Linux
gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
The system is a ThinkPad T410 with 4 GiB RAM and uses an Intel Core i7 M620 2.67 GHz (2 cores, each with HyperThreading).
|Tags||No tags attached.|
Yes, that's really a surprise. This is an issue for GNU make. For some reason they defined the "optimal number of process" as "infinite number", which is definitely not the right thing to do... A tip from the User Guide:
If you have a multi-core system, you may try to configure OMNeT++ to support parallel build. Open the Project properties dialog (Properties from the project context menu), and select the C/C++ Build page and the Behavior tab. Click the Use parallel build checkbox and specify the number of parallel jobs. Do not set this higher than the number of CPUs available in your system (Warning: Never use the "Optimal jobs number" choice as it will start too many jobs at once and you will run out of physical memory very quickly).
|2010-06-15 09:09||jonas||New Issue|
|2010-06-15 09:47||rhornig||Note Added: 0000314|
|2010-06-15 09:47||rhornig||Status||new => resolved|
|2010-06-15 09:47||rhornig||Resolution||open => not fixable|
|2010-06-15 09:47||rhornig||Assigned To||=> rhornig|
|Copyright © 2000 - 2021 MantisBT Team|