GC 与 GC 暂停EE
当我运行 !threads -special 命令时,我得到以下结果。为简洁起见,我已删除输出中的其他行。
OSID Special thread type
15 26ec GC 暂停EE
15 3174 GC
任何想法 GC 和 GC SuspendedEE 之间有什么区别
When I run !threads -special command, I get following. There are other lines also in output that i have removed for brevity.
OSID Special thread type
15 26ec GC SuspendEE
15 3174 GC
Any ideas what is the difference between GC and GC SuspendedEE
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在服务器类型 GC 中,您可以拥有多个 GC 线程——更准确地说,每个处理器一个线程。如果其中一个线程停止 CLR 执行引擎 (EE),则服务器 GC 的工作方式,以便 GC 线程可以安全地移动对象。应该只有一个线程停止 EE,而 GC 线程 #0 总是执行此操作。同一个线程负责在 GC 周期完成后恢复 EE。
!threads -special
输出中出现“GC SuspendEE”意味着两件事:In server type GC you can have multiple GC threads -- more exactly one thread per processor. The way server GC works if one of the threads stops CLR execution engine (EE) so that GC threads could safely move objects around. Only one thread is supposed to stop EE, and GC thread #0 always does this. The same thread is responsible for resuming EE after GC cycle completes.
The presence of "GC SuspendEE" in the
!threads -special
output means two things: