업데이트
이 질문을하는 다른 방법은 "코어가있는 것보다 더 많은 스레드를 응용 프로그램에 사용할 수 있습니까?"입니다.VisualVM이 VisualVM 자체에 대해 50 개의 스레드를 실행하는 이유는 무엇입니까?
원래 질문
나는 내 노트북에 총 8 개의 코어를 가지고 있습니다. 방금 VisualVM의 최신 버전을 다운로드하고 수행 방법을 보려면 VisualVM
탭을 클릭하십시오. 내가 알아챈 것 중 하나는 32 개의 라이브 스레드와 22 개의 데몬 스레드를 사용한다는 것입니다. 왜 그렇게 많은 것을 사용합니까? IIUC는 8 개 이상을 사용하는 것이 덜 효율적이며 JUC는 내가 가지고있는 코어의 수를 알고 있으므로 스레드의 총 수를 8 개로 제한 할 수 있습니다.
누군가가 이것을 중복으로 표시 했으므로 내가 조금 다른 방식으로 묻는 것. VisualVM의 특정 기능을 사용하는 방법을 묻지 않습니다. 나는 8 개 이상의 스레드를 실행하는 이유를 묻고 있는데, IIUC는 8 개 이상이 최적화되지 않았고 VisualVM은 오라클에서 제공되므로 최적으로 기능하도록 설계 했으므로 뭔가 놓치고 있는지 궁금합니다. , 아니면 오라클이 실행해야하는 것보다 많은 스레드로 실행할 수 있도록 허용하고 있습니까?
[Visual VM에서 프로파일 링 제한] (https://stackoverflow.com/questions/770851/limiting-profiling-in-visual-vm) – IddoE
의 가능한 복제본 "프로파일 된 스레드 제한. 항상 32"https : // blogs.oracle.com/nbprofiler/profiling-with-visualvm,-part-2 – IddoE