我怎样才能使这个 Python 进程获得最大的 CPU 利用率

我怎样才能使这个 Python 进程获得最大的 CPU 利用率

我正在使用 Spyder IDE 进行 Python 数据分析。我的数据集非常大,因此我希望给予它最高优先级。

我已将优先级设置为实时,但它仅使用 13-15% 的 CPU。我怎样才能让其使用 100% 的 CPU?我使用的是 Dell Insiron 15Z 超极本,每台有 2 个 4 GB 的 RAM。

流程使用截图

答案1

如果没有其他程序在运行且其仅使用了一小部分 CPU,那么这就说明它不受 CPU 限制:是其他程序限制了它。

我的第一个猜测是文件系统访问限制了它,所以它花费大量时间等待读取数据。

答案2

我从您的屏幕截图中看到您正在使用任务管理器检查此进程的使用情况。分析这种情况的更好方法是使用资源监控

单击“开始”按钮打开资源监视器。在搜索框中,键入资源监视器,然后在结果列表中单击资源监视器。需要管理员权限如果系统提示您输入管理员密码或确认,请输入密码或提供确认。‌

从那里,您可以选择要监控的进程,然后单击不同的选项卡来查看所选特定进程的磁盘、网络或 CPU 活动。

这使您可以更好地了解您的进程所使用的资源,并能够确定是否是磁盘或网络导致了速度变慢。

答案3

最有可能的原因是等待 I/O 阻碍了你。网络访问比访问本地存储慢,SSD 比 HDD 快,RAM 比 SSD 快。

如果数据集确实很大并且产生很大的结果 - 您可能希望从一个驱动器读取并写入另一个驱动器,这样可以减少搜索。

要寻找的其他事情是上下文切换,例如,您的程序可能有过多的日志记录,并且每次操作后它都必须等待切换到操作系统以将一些字符串传递给终端仿真器,这会呈现一些您不会阅读的文本字符串。

相关内容