GC vs GC SuspendedEE



当我运行!threads -special命令时,我得到以下内容。为了简洁起见,我还删除了输出中的其他行。

OSID     Special thread type  

15 26ec GC suspende
15 3174 GC

知道GC和GC SuspendedEE的区别吗

在服务器类型的GC中,您可以有多个GC线程——更确切地说,每个处理器一个线程。如果其中一个线程停止CLR执行引擎(EE),以便GC线程可以安全地移动对象,则服务器GC的工作方式。只有一个线程应该停止EE, GC线程#0总是这样做。在GC周期完成后,同一个线程负责恢复EE。

!threads -special输出中出现"GC SuspendEE"意味着两件事:

    这是GC线程#0
  1. 当前正在执行GC循环。一旦完成,该线程的suspend标志将被清除。

最新更新