File tree Expand file tree Collapse file tree 1 file changed +10
-2
lines changed Expand file tree Collapse file tree 1 file changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -144,8 +144,6 @@ update_gc_info (mword used_slots_size)
144144
145145 sgen_gc_info .heap_size_bytes = major_size + sgen_los_memory_usage_total ;
146146 sgen_gc_info .fragmented_bytes = sgen_gc_info .heap_size_bytes - sgen_los_memory_usage - major_size_in_use ;
147- guint64 physical_ram_size = mono_determine_physical_ram_size ();
148- sgen_gc_info .memory_load_bytes = physical_ram_size ? sgen_gc_info .total_available_memory_bytes - (guint64 )(((double )sgen_gc_info .total_available_memory_bytes * mono_determine_physical_ram_available_size ())/physical_ram_size ) : 0 ;
149147 sgen_gc_info .total_committed_bytes = major_size_in_use + sgen_los_memory_usage ;
150148 sgen_gc_info .total_promoted_bytes = sgen_total_promoted_size - total_promoted_size_start ;
151149 sgen_gc_info .total_major_size_bytes = major_size ;
@@ -154,6 +152,14 @@ update_gc_info (mword used_slots_size)
154152 sgen_gc_info .total_los_size_in_use_bytes = sgen_los_memory_usage ;
155153}
156154
155+ static void
156+ update_gc_info_memory_load (void )
157+ {
158+ // We update this separately because it is not safe to do it during GC stw
159+ guint64 physical_ram_size = mono_determine_physical_ram_size ();
160+ sgen_gc_info .memory_load_bytes = physical_ram_size ? sgen_gc_info .total_available_memory_bytes - (guint64 )(((double )sgen_gc_info .total_available_memory_bytes * mono_determine_physical_ram_available_size ())/physical_ram_size ) : 0 ;
161+ }
162+
157163gboolean
158164sgen_need_major_collection (mword space_needed , gboolean * forced )
159165{
@@ -387,6 +393,8 @@ sgen_memgov_collection_end (int generation, gint64 stw_time)
387393 sgen_pointer_queue_clear (& log_entries );
388394 mono_os_mutex_unlock (& log_entries_mutex );
389395 }
396+
397+ update_gc_info_memory_load ();
390398}
391399
392400/*
You can’t perform that action at this time.
0 commit comments