Ubuntu 20.10 中 Python 计算速度非常慢

Ubuntu 20.10 中 Python 计算速度非常慢

我的笔记本电脑是 MSI,配备六核 i7-9750H CPU、NVIDIA RTX2060 6GB GPU、1TB SSD 和 64GB RAM。自从从 18.04 “升级”到 20.10 以来,性能一直很糟糕。我大部分时间都在使用 Python,过去需要 5-10 秒的计算现在需要 50-60 秒。例如,对于一个很小的(2000 行)数据集,在 Python 中运行套索回归的基本参数优化需要 45 秒。速度减慢得惊人。我是不是错过了一些基本的东西?在 20 年的 Linux 使用中,我从未遇到过这样的事情。在此先感谢您的任何建议。

答案1

这不是一个答案,而是一个比较。

我的测试结果使用示例代码,并在虚拟机上完成。
主机:Debian GNU/Linux bullseye/sid;i7-2600K
VM1:Ubuntu 桌面,20.10,python 3.8.6
VM2:Ubuntu 桌面,18.04.5 LTS,python 2.7.17 和 python 3.6.9

VM1:13分39秒
VM2:12分43秒(python 3.6.9)
VM2:12分37秒(python 2.7.17)

20.10 与 18.04 相比下降了 7%。

同时,我始终在主机上运行 turbostat,观察是否有任何节流迹象,无论是由于功率限制还是温度限制。(实际上,我知道这次测试不会有这种情况,但需要尽职调查。)(注意:此处理器上实际上不提供 RAMWatt。):

doug@s15:~/iso$ sudo turbostat --Summary --quiet --show Busy%,Bzy_MHz,IRQ,PkgWatt,PkgTmp,RAMWatt --interval 30
Busy%   Bzy_MHz IRQ     PkgTmp  PkgWatt
12.66   3795    15374   58      27.97 <<< 8 CPUs, 1 at 100%
12.70   3794    14718   58      28.01 <<< not too hot
12.68   3794    16987   59      28.01 <<< not too much power, TDP=95
12.67   3796    12782   60      28.01 <<< CPU frequency pinned
12.67   3795    16558   59      28.03
12.68   3795    14234   59      28.02
12.67   3794    16392   59      28.00
12.69   3794    14459   58      27.99
12.67   3795    15074   59      28.02
12.69   3795    14088   59      28.02
12.69   3794    17271   59      28.03
12.73   3793    16606   59      28.04
12.68   3794    16550   59      27.96
12.70   3794    14759   58      27.96
12.70   3793    18363   60      27.98
12.72   3793    17089   59      28.01
12.70   3794    17496   60      28.00
12.72   3793    17314   59      28.01
11.11   3792    15402   48      25.00  <<< done
0.22    2474    7189    40      4.33
0.30    2725    10450   41      4.42
0.26    2764    6473    35      4.26

请注意,CPU 频率的轻微变化是由于多核心活动造成的,如下所示(运行 turbostat 时不使用 --quiet 命令行选项):

cpu4: MSR_TURBO_RATIO_LIMIT: 0x23242526
35 * 100.0 = 3500.0 MHz max turbo 4 active cores
36 * 100.0 = 3600.0 MHz max turbo 3 active cores
37 * 100.0 = 3700.0 MHz max turbo 2 active cores
38 * 100.0 = 3800.0 MHz max turbo 1 active cores

相关内容