Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Console tool, limit memory usage of NCrunch.exe?
GreenMoose
#1 Posted : Monday, June 18, 2018 10:58:34 AM(UTC)
Rank: Advanced Member

Groups: Registered
Joined: 6/17/2012(UTC)
Posts: 390

Thanks: 85 times
Was thanked: 40 time(s) in 39 post(s)
Is there a way to limit the memory usage of NCrunch.exe ? I guess NCrunch.exe itself is not anything that can be tweaked via configuration settings?

Bakground
A build agent with 8GB RAM seems to be insufficient since building NCrunch on that agent, with weird delays in loading times like below, and also fails db tests with timeouts of 1 minute (not failing on 10GB machine).
Code:

10GB agent:

[11:44:54] :     [Step 5/7] [InitialisationQueueTask-17] Loading project: X:\Infrastructure\XXX.Infrastructure.csproj
[11:44:54] :     [Step 5/7] [InitialisationQueueTask-16] Loading project: X:\Domain\XXX.Domain.ModelFactories\XXX.Domain.ModelFactories.csproj
[11:44:54] :     [Step 5/7] [InitialisationQueueTask-19] Loading project: X:\Presentation\XXX.Web\XXX.Web.csproj
[11:45:15] :     [Step 5/7] [InitialisationQueueTask-11] Loading project: X:\Tests\NUnitTests\NUnitTests.csproj

8GB agent:

[12:24:38] :     [Step 5/7] [InitialisationQueueTask-18] Loading project: X:\Presentation\XXX.Web\XXX.Web.csproj
[12:24:38] :     [Step 5/7] [InitialisationQueueTask-16] Loading project: X:\Infrastructure\XXX.Infrastructure.csproj
[12:24:38] :     [Step 5/7] [InitialisationQueueTask-15] Loading project: X:\Domain\XXX.Domain.ModelFactories\XXX.Domain.ModelFactories.csproj
[12:26:16] :     [Step 5/7] [InitialisationQueueTask-12] Loading project: X:\Tests\NUnitTests\NUnitTests.csproj


(10GB on another agent seems to work better)
MemoryUsage

Thanks.
Remco
#2 Posted : Tuesday, June 19, 2018 1:11:48 AM(UTC)
Rank: NCrunch Developer

Groups: Administrators
Joined: 4/16/2011(UTC)
Posts: 5,277

Thanks: 695 times
Was thanked: 856 time(s) in 814 post(s)
Is this being used in the context of a large solution with high code coverage density?

Such a scenario can make NCrunch especially hungry. The bulk of the engine's memory consumption comes from its code coverage indexing. We need to individually track and efficiently index every line covered by every test, in such a way that allows code coverage to be rapidly merged, updated and reported. We haven't found any way to do this yet without a reasonably high amount of memory consumption. It may well be that using NCrunch on a solution of this scale is simply going to require more memory than the machine has available. Sadly there are no quick wins for us to reduce memory consumption in this area :(
1 user thanked Remco for this useful post.
GreenMoose on 6/19/2018(UTC)
Users browsing this topic
Guest
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

YAF | YAF © 2003-2011, Yet Another Forum.NET
This page was generated in 0.026 seconds.