Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Typo in MULTIPLE_HEAPS to fix a memory usage regression #73275

Merged
merged 2 commits into from
Aug 3, 2022

Conversation

mrsharm
Copy link
Member

@mrsharm mrsharm commented Aug 2, 2022

Misspelt MULTIPLE_HEAPS - fixes #73254.

@ghost
Copy link

ghost commented Aug 2, 2022

Tagging subscribers to this area: @dotnet/gc
See info in area-owners.md if you want to be subscribed.

Issue Details

Misspelt MULTIPLE_HEAPS - fixes #73254.

Author: mrsharm
Assignees: -
Labels:

area-GC-coreclr

Milestone: -

@mrsharm
Copy link
Member Author

mrsharm commented Aug 2, 2022

Memory Regression is fixed:

application
CPU Usage (%) 98
Cores usage (%) 2,758
Working Set (MB) 496
Private Memory (MB) 514
Build Time (ms) 1,932
Start Time (ms) 450
Published Size (KB) 114,457
.NET Core SDK Version 7.0.100-rc.1.22402.10
ASP.NET Core Version 7.0.0-rc.1.22402.1+bf02bf2
.NET Runtime Version 7.0.0-rc.1.22402.1+8fc905e
Max CPU Usage (%) 96
Max Working Set (MB) 521
Max GC Heap Size (MB) 250
Size of committed memory by the GC (MB) 460
Max Number of Gen 0 GCs / sec 13.00
Max Number of Gen 1 GCs / sec 1.00
Max Number of Gen 2 GCs / sec 0.00
Max Time in GC (%) 1.00
Max Gen 0 Size (B) 1,604,784
Max Gen 1 Size (B) 16,655,200
Max Gen 2 Size (B) 3,488,952
Max LOH Size (B) 210,896
Max POH Size (B) 2,271,920
Max Allocation Rate (B/sec) 3,788,973,080
Max GC Heap Fragmentation 9
# of Assemblies Loaded 113
Max Exceptions (#/s) 469
Max Lock Contention (#/s) 195
Max ThreadPool Threads Count 48
Max ThreadPool Queue Length 159
Max ThreadPool Items (#/s) 551,343
Max Active Timers 0
IL Jitted (B) 190,050
Methods Jitted 2,266

Using:

crank  --profile aspnet-citrine-win  --application.options.collectCounters True  --application.framework net7.0    --config https://raw.githubusercontent.com/aspnet/Benchmarks/main/scenarios/plaintext.benchmarks.yml  --scenario mvc --application.options.outputFiles C:\runtime\artifacts\bin\coreclr\windows.x64.Release\System.Private.CoreLib.dll --application.options.outputFiles C:\runtime\artifacts\bin\coreclr\windows.x64.Release\coreclr.dll --application.options.outputFiles C:\runtime\artifacts\bin\coreclr\windows.x64.Release\clrjit.dll --application.environmentVariables COMPlus_gcServer=1 

And the microbenchmark hasn't regressed:

Method value Mean Error StdDev Median Min Max Gen 0 Allocated
EnumToString Yellow 13.48 ns 0.210 ns 0.197 ns 13.44 ns 13.19 ns 13.82 ns 0.0022 24 B

@mrsharm mrsharm changed the title Typo in MULTIPLE_HEAPS to fix a memory regression Typo in MULTIPLE_HEAPS to fix a memory usage regression Aug 2, 2022
@Maoni0
Copy link
Member

Maoni0 commented Aug 2, 2022

can you also take the opportunity to fix the other issue I mentioned "it needs to initialize the saved_allocated in the else case when shigh is 0."?

@mrsharm
Copy link
Member Author

mrsharm commented Aug 2, 2022

can you also take the opportunity to fix the other issue I mentioned "it needs to initialize the saved_allocated in the else case when shigh is 0."?

I think I have already fixed it. Please let me know if I got it wrong:

            do
            {
                heap_segment_saved_allocated(seg) = 0;
                uint8_t* start_unmarked = heap_segment_mem (seg);

@Maoni0
Copy link
Member

Maoni0 commented Aug 3, 2022

I think I have already fixed it. Please let me know if I got it wrong:

it's correct. the change just wasn't there when I reviewed it the first time (I saw you did this in a separate commit).

@mrsharm mrsharm merged commit a6c0d5c into dotnet:main Aug 3, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Sep 2, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Memory usage regression
2 participants