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

Ephemeral segments missing in memory dump #969

Open
PhDuck opened this issue Dec 7, 2021 · 0 comments
Open

Ephemeral segments missing in memory dump #969

PhDuck opened this issue Dec 7, 2021 · 0 comments

Comments

@PhDuck
Copy link
Contributor

PhDuck commented Dec 7, 2021

public HeapMemoryRanges(ClrHeap heap, Logger logger)
{
    foreach (var segment in heap.Segments)
    {
         logger.Log(@$"{segment.ToString()} IsEphemeralSegment: {segment.IsEphemeralSegment} IsLargeObjectSegment: {segment.IsLargeObjectSegment} Gen0: {segment.Generation0.ToString() ?? string.Empty} Gen1: {segment.Generation1.ToString() ?? string.Empty} Gen2: {segment.Generation2.ToString() ?? string.Empty}");
    }
}

Produces the following output:

HeapSegment 268.43mb [23089961000, 2309995FBA8] IsEphemeralSegment: False IsLargeObjectSegment: True Gen0: [2309995fba8,2309995fba8) Gen1: [2309995fba8,2309995fba8) Gen2: [23089961000,2309995fba8)
HeapSegment 257.80mb [23099971000, 230A8F4BDF0] IsEphemeralSegment: False IsLargeObjectSegment: True Gen0: [230a8f4bdf0,230a8f4bdf0) Gen1: [230a8f4bdf0,230a8f4bdf0) Gen2: [23099971000,230a8f4bdf0)
HeapSegment 241.86mb [230BBBC1000, 230CA267CE8] IsEphemeralSegment: False IsLargeObjectSegment: True Gen0: [230ca267ce8,230ca267ce8) Gen1: [230ca267ce8,230ca267ce8) Gen2: [230bbbc1000,230ca267ce8)
HeapSegment 268.35mb [230CCB91000, 230DCB7CDC0] IsEphemeralSegment: False IsLargeObjectSegment: True Gen0: [230dcb7cdc0,230dcb7cdc0) Gen1: [230dcb7cdc0,230dcb7cdc0) Gen2: [230ccb91000,230dcb7cdc0)
HeapSegment 256.67mb [230DCB91000, 230EC059308] IsEphemeralSegment: False IsLargeObjectSegment: True Gen0: [230ec059308,230ec059308) Gen1: [230ec059308,230ec059308) Gen2: [230dcb91000,230ec059308)
HeapSegment 267.70mb [234EF831000, 234FF77D0A0] IsEphemeralSegment: False IsLargeObjectSegment: True Gen0: [234ff77d0a0,234ff77d0a0) Gen1: [234ff77d0a0,234ff77d0a0) Gen2: [234ef831000,234ff77d0a0)
HeapSegment 268.30mb [234FF831000, 2350F810BB8] IsEphemeralSegment: False IsLargeObjectSegment: True Gen0: [2350f810bb8,2350f810bb8) Gen1: [2350f810bb8,2350f810bb8) Gen2: [234ff831000,2350f810bb8)
HeapSegment 268.06mb [2350F831000, 2351F7D5D88] IsEphemeralSegment: False IsLargeObjectSegment: True Gen0: [2351f7d5d88,2351f7d5d88) Gen1: [2351f7d5d88,2351f7d5d88) Gen2: [2350f831000,2351f7d5d88)
HeapSegment 267.60mb [2351F831000, 2352F764278] IsEphemeralSegment: False IsLargeObjectSegment: True Gen0: [2352f764278,2352f764278) Gen1: [2352f764278,2352f764278) Gen2: [2351f831000,2352f764278)
HeapSegment 222.77mb [23583F51000, 235913C40D0] IsEphemeralSegment: False IsLargeObjectSegment: True Gen0: [235913c40d0,235913c40d0) Gen1: [235913c40d0,235913c40d0) Gen2: [23583f51000,235913c40d0)
HeapSegment 268.42mb [235CEEF1000, 235DEEEDE40] IsEphemeralSegment: False IsLargeObjectSegment: True Gen0: [235deeede40,235deeede40) Gen1: [235deeede40,235deeede40) Gen2: [235ceef1000,235deeede40)
HeapSegment 267.74mb [235DEEF1000, 235EEE46568] IsEphemeralSegment: False IsLargeObjectSegment: True Gen0: [235eee46568,235eee46568) Gen1: [235eee46568,235eee46568) Gen2: [235deef1000,235eee46568)
HeapSegment 268.31mb [235EF0B1000, 235FF0938D0] IsEphemeralSegment: False IsLargeObjectSegment: True Gen0: [235ff0938d0,235ff0938d0) Gen1: [235ff0938d0,235ff0938d0) Gen2: [235ef0b1000,235ff0938d0)
HeapSegment 210.21mb [236508C1000, 2365D13A580] IsEphemeralSegment: False IsLargeObjectSegment: True Gen0: [2365d13a580,2365d13a580) Gen1: [2365d13a580,2365d13a580) Gen2: [236508c1000,2365d13a580)
HeapSegment 268.18mb [236608C1000, 236708832E8] IsEphemeralSegment: False IsLargeObjectSegment: True Gen0: [236708832e8,236708832e8) Gen1: [236708832e8,236708832e8) Gen2: [236608c1000,236708832e8)
HeapSegment 243.76mb [23679391000, 23687C09328] IsEphemeralSegment: False IsLargeObjectSegment: True Gen0: [23687c09328,23687c09328) Gen1: [23687c09328,23687c09328) Gen2: [23679391000,23687c09328)
HeapSegment 411.75mb [23689391000, 236A1C3DE98] IsEphemeralSegment: False IsLargeObjectSegment: True Gen0: [236a1c3de98,236a1c3de98) Gen1: [236a1c3de98,236a1c3de98) Gen2: [23689391000,236a1c3de98)
HeapSegment 446.69mb [236A9391000, 236C3D91458] IsEphemeralSegment: False IsLargeObjectSegment: True Gen0: [236c3d91458,236c3d91458) Gen1: [236c3d91458,236c3d91458) Gen2: [236a9391000,236c3d91458)
HeapSegment 223.54mb [238C9391000, 238D68C0500] IsEphemeralSegment: False IsLargeObjectSegment: True Gen0: [238d68c0500,238d68c0500) Gen1: [238d68c0500,238d68c0500) Gen2: [238c9391000,238d68c0500)
HeapSegment 156.07mb [23BD9391000, 23BE28688A8] IsEphemeralSegment: False IsLargeObjectSegment: True Gen0: [23be28688a8,23be28688a8) Gen1: [23be28688a8,23be28688a8) Gen2: [23bd9391000,23be28688a8)
HeapSegment 102.65mb [23BF9391000, 23BFF576000] IsEphemeralSegment: False IsLargeObjectSegment: True Gen0: [23bff576000,23bff576000) Gen1: [23bff576000,23bff576000) Gen2: [23bf9391000,23bff576000)

Compared to the output of !eeheap -gc in Windbg:

Number of GC Heaps: 4
------------------------------
Heap 0 (00000230ef205e50)
generation 0 starts at 0x00000239d981cfa8
generation 1 starts at 0x00000239d9391000
generation 2 starts at 0x00000230ef831000
ephemeral segment allocation context: none
         segment             begin         allocated              size
00000230ef830000  00000230ef831000  00000231dd578740  0xedd47740(3990124352)
00000239d9390000  00000239d9391000  00000239e0349e30  0x6fb8e30(117149232)
Large object heap starts at 0x00000234ef831000
         segment             begin         allocated              size
00000234ef830000  00000234ef831000  00000234ff77d0a0  0xff4c0a0(267698336)
00000230ccb90000  00000230ccb91000  00000230dcb7cdc0  0xffebdc0(268352960)
0000023099970000  0000023099971000  00000230a8f4bdf0  0xf5dadf0(257797616)
00000236608c0000  00000236608c1000  00000236708832e8  0xffc22e8(268182248)
0000023bd9390000  0000023bd9391000  0000023be28688a8  0x94d78a8(156072104)
Heap Size:               Size: 0x13d6acd50 (5325376848) bytes.
------------------------------
Heap 1 (00000230ef236980)
generation 0 starts at 0x00000238d9718410
generation 1 starts at 0x00000238d9391000
generation 2 starts at 0x00000231ef831000
ephemeral segment allocation context: none
         segment             begin         allocated              size
00000231ef830000  00000231ef831000  00000232e3950fa8  0xf411ffa8(4094820264)
00000238d9390000  00000238d9391000  00000238ee06a068  0x14cd9068(349016168)
Large object heap starts at 0x00000234ff831000
         segment             begin         allocated              size
00000234ff830000  00000234ff831000  000002350f810bb8  0xffdfbb8(268303288)
00000235ceef0000  00000235ceef1000  00000235deeede40  0xfffce40(268422720)
00000230bbbc0000  00000230bbbc1000  00000230ca267ce8  0xe6a6ce8(241855720)
0000023679390000  0000023679391000  0000023687c09328  0xe878328(243761960)
00000236a9390000  00000236a9391000  00000236c3d91458  0x1aa00458(446694488)
Heap Size:               Size: 0x1606f4e70 (5912874608) bytes.
------------------------------
Heap 2 (00000230ef262390)
generation 0 starts at 0x00000237c96d4a90
generation 1 starts at 0x00000237c9391000
generation 2 starts at 0x00000232ef831000
ephemeral segment allocation context: none
         segment             begin         allocated              size
00000232ef830000  00000232ef831000  00000233e759dd78  0xf7d6cd78(4158049656)
00000237c9390000  00000237c9391000  00000237e431e1d8  0x1af8d1d8(452514264)
Large object heap starts at 0x000002350f831000
         segment             begin         allocated              size
000002350f830000  000002350f831000  000002351f7d5d88  0xffa4d88(268062088)
00000230dcb90000  00000230dcb91000  00000230ec059308  0xf4c8308(256672520)
00000235deef0000  00000235deef1000  00000235eee46568  0xff55568(267736424)
00000236508c0000  00000236508c1000  000002365d13a580  0xc879580(210212224)
0000023689390000  0000023689391000  00000236a1c3de98  0x188ace98(411750040)
0000023bf9390000  0000023bf9391000  0000023bff576000  0x61e5000(102649856)
Heap Size:               Size: 0x16d3c7960 (6127647072) bytes.
------------------------------
Heap 3 (00000230ef28dda0)
generation 0 starts at 0x00000236d34ea338
generation 1 starts at 0x00000236d3109ab8
generation 2 starts at 0x00000233ef831000
ephemeral segment allocation context: none
         segment             begin         allocated              size
00000233ef830000  00000233ef831000  00000234ef2b0b50  0xffa7fb50(4289198928)
00000236c9390000  00000236c9391000  0000023726d82190  0x5d9f1190(1570705808)
Large object heap starts at 0x000002351f831000
         segment             begin         allocated              size
000002351f830000  000002351f831000  000002352f764278  0xff33278(267596408)
0000023089960000  0000023089961000  000002309995fba8  0xfffeba8(268430248)
0000023583f50000  0000023583f51000  00000235913c40d0  0xd4730d0(222769360)
00000235ef0b0000  00000235ef0b1000  00000235ff0938d0  0xffe28d0(268314832)
00000238c9390000  00000238c9391000  00000238d68c0500  0xd52f500(223540480)
Heap Size:               Size: 0x1a7d279a0 (7110556064) bytes.
------------------------------
GC Heap Size:            Size: 0x5b2e90ec0 (24476454592) bytes.

The dump is from a .NET 4.8 x64 bit process.
4.8.4300.0 free
Server mode with 4 gc heaps

Windows 10 Version 17763 MP (4 procs) Free x64
Product: Server, suite: TerminalServer DataCenter SingleUserTS
Edition build lab: 17763.1.amd64fre.rs5_release.180914-1434

ClrMD verison: 2.0.226801

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant