首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么VisualVM要为VisualVM本身运行50个线程?

为什么VisualVM要为VisualVM本身运行50个线程?
EN

Stack Overflow用户
提问于 2017-09-17 19:48:50
回答 1查看 287关注 0票数 1

更新

问这个问题的另一种方法是:“有比内核更多的线程提供给应用程序吗?”

原始问题

我的笔记本电脑上一共有8个核心。我刚刚下载了VisualVM的最新版本,并点击了VisualVM选项卡来查看它的性能。我注意到的一件事是,它使用32个活动线程和22个守护进程线程。为什么要用这么多?使用8以上的IIUC效率较低,而IIUC JVM知道我有多少内核,因此它可以将线程总数限制在8个。

有人把这个标记为重复,所以我会试着解释一下我要问的是什么。我不是在问如何使用VisualVM的一个特定特性。我在问为什么它运行的线程超过8个,因为IIUC超过8个将不是最优的,而VisualVM来自于Oracle,所以我想他们会设计它来优化功能,所以我想知道我是不是遗漏了什么,还是只是允许它运行比它应该运行的线程更多的线程?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-17 20:09:38

仅仅因为您有50个VisualVM线程正在运行,这并不一定意味着所有这些线程都应该同时工作。如果对“are”列进行排序,您将看到只有前7个或8个线程正在积极运行。线程的休息正在休眠或等待I/O。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46268239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档