为什么Python中使用只有4%的CPU?

问题描述 投票:0回答:2

我有一个统计每k-长串的出现在一个非常大的文本Python脚本。这是怎样做的,具有存储和重复数据删除的子之后:

counts = {}
for s in all_substrings:
    counts[s] = full_text.count(s)

我很惊讶地看到这个剧本的平均使用只有4%的CPU。我有一个4芯8线程处理器,但没有芯在比单位数百分比更使用。我本来期望脚本使用一个核心的100%,因为它不会做IO。

它为什么会用这么少的计算能力,我怎么能提高呢?

python cpu-usage
2个回答
1
投票

您的片段可能是一个内存带宽的限制程序。你旁边这个循环没有计算。然而,大多数CPU监测方案,只是访问内存中的程序报告100%。我疑惑了。

如果你想看到更多的正在发生的事情我建议你用出色的发挥perf tool in linux

你可以通过查看页面错误启动

# Sample page faults with stack traces, until Ctrl-C:
perf record -e page-faults -ag

0
投票

我在戴尔的XPS 15,它不断地限制了CPU到800兆赫BD PROCHOT bug的受害者。禁用BD PROCHOT与ThrottleStop固定的问题和我的脚本现在使用的CPU内核的100%。

© www.soinside.com 2019 - 2024. All rights reserved.