Python Pandas.rolling\u将在我的笔记本电脑上应用多线程,但不会在虚拟服务器上应用

Python Pandas.rolling\u将在我的笔记本电脑上应用多线程,但不会在虚拟服务器上应用,python,multithreading,pandas,virtual-machine,Python,Multithreading,Pandas,Virtual Machine,我有一个pandas.u应用在一个大数据帧上,该数据帧调用一个自定义函数进行回归并返回一个数字 在我的笔记本电脑(Windows 7 Home Premium,Intel Core i7-4700MQ)上,它使用了4个内核(50%的CPU使用率,i7-4700MQ有4个处理器和8个逻辑内核) 虚拟服务器(Windows server 2012 R2 Std、Intel Xeon E5-2680 v2)上的完全相同的代码似乎只使用1个内核(13%的CPU使用率、2个插槽、8个虚拟处理器) 有谁能解

我有一个pandas.u应用在一个大数据帧上,该数据帧调用一个自定义函数进行回归并返回一个数字

在我的笔记本电脑(Windows 7 Home Premium,Intel Core i7-4700MQ)上,它使用了4个内核(50%的CPU使用率,i7-4700MQ有4个处理器和8个逻辑内核)

虚拟服务器(Windows server 2012 R2 Std、Intel Xeon E5-2680 v2)上的完全相同的代码似乎只使用1个内核(13%的CPU使用率、2个插槽、8个虚拟处理器)


有谁能解释一下pandas中的多线程是如何工作的,为什么我的笔记本电脑和服务器上的内核使用率分别为50%和13%,以及是否有任何方法可以提高内核使用率(和速度?).

我的一位同事给了我一个提示:我猜它是在尝试检测超线程,以避免在同一个内核上运行两个线程时自动运行。因为ESX在管理这方面更有效,而且您的VM可以访问8个物理内核(尽管是通过ESX管理的虚拟化层)如果可能的话,我会看看是否有办法尝试关闭对虚拟内核的检测。这两台机器上的所有东西都在内存中吗?或者虚拟机是否因为必须从磁盘读取而使用更少的CPU?这两种情况下都在内存中。