中有一个关于线程的模糊主题。NET。
这是的结果
dotnet-counters
:
[System.Runtime]
% Time in GC since last GC (%) 8
Allocation Rate (B / 1 sec) 64,202,240
CPU Usage (%) 81
Exception Count (Count / 1 sec) 33
GC Committed Bytes (MB) 332
GC Fragmentation (%) 21.929
GC Heap Size (MB) 246
Gen 0 GC Count (Count / 1 sec) 3
Gen 0 Size (B) 24
Gen 1 GC Count (Count / 1 sec) 1
Gen 1 Size (B) 14,135,448
Gen 2 GC Count (Count / 1 sec) 0
Gen 2 Size (B) 1.6342e+08
IL Bytes Jitted (B) 9,143,138
LOH Size (B) 1.6319e+08
Monitor Lock Contention Count (Count / 1 sec) 79
Number of Active Timers 75
Number of Assemblies Loaded 410
Number of Methods Jitted 103,574
POH (Pinned Object Heap) Size (B) 1,521,664
ThreadPool Completed Work Item Count (Count / 1 sec) 1,648
ThreadPool Queue Length 101
ThreadPool Thread Count 13
Time spent in JIT (ms / 1 sec) 1,451.124
Working Set (MB) 649
很明显,从线程池中使用了13个活动线程,101个请求被排队。
虽然cpu消耗还没有达到100%,并且活动线程的数量非常低(据我所知,基于系统的线程数量可能非常大,例如200000)。
在这种情况下,为什么队列中的请求本应为其创建新线程