I am using kubuntu 10.10 with a 4 cores cpu. When I use ‘make -j2’ to build a cpp project, 2 core’s cup usage become 100%, desktop environment become no response, and build procedure make no progress.
Version info:
The GNU make's version is 3.81
gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5)
How to resolve this problem? Thanks.
There’s not really enough information here to give you a definitive answer. First it’s not clear if this happens only when you run with -j2. What if you run without parallelism (no -j)? When you say “2 core’s CPU usage [goes to] 100%”, what is happening on those CPUs? If you run “top” in another terminal and then start your build, what is showing in top?
Alternatively, if you run “make -d -j2” what program(s) is make running right before the CPU goes to 100%?
The fact that the desktop is unresponsive as well hints at some other problem, rather than CPU usage, since you have 4 cores and only 2 are busy. Maybe something is chewing up all your RAM? Does the system come back after a while (indicating that the OOM killer got involved and stomped something)?
If none of that helps, you can run make under strace, something like “strace -f make -j2” and see if you can figure out what is going on. This will generate a metric ton or two of output but if, when the CPU is pegged, you see something running over and over and over you might get a hint.
Basically I can see these possibilities:
Hopefully the above hints will set you on a path to discovering what’s going on.