我的 python 构建二进制文件并未真正在 AMD Win2003r2x64 机器上作为 64 位程序运行
我的问题是
我的 python 二进制文件没有在我的 amd64(Opteron 8214, 4 cpu) 服务器上作为 64 位程序运行。
该机器是双核的,因此taskmgr中显示有8个核心。 它在taskmgr中没有显示“*32”(因此它可能已经处于64位模式),但仅使用一个核心。
我将相同的代码(项目)在 Intel Xeon 机器上编译和执行,它将使用所有处理器核心。
那么我该如何解决这个问题呢?有人还有其他想法吗?我需要让它运行 64 位才能使用多核来尽快完成工作。它是一个数据解析器,它花费了大部分运行时间来解析数据记录(通过正则表达式)然后插入到 mssql 数据库中。
欢迎任何评论。我已经为此工作了好几个星期了。
官方&我使用的第三方软件包列在这里。
python-2.7.1.amd64.msi
pywin32-214.win-amd64-py2.7.exe
pyodbc-2.1.8.win-amd64-py2.7.exe
py2exe-0.6.9.win64-py2.7.amd64.exe
wxPython2.8-win64-unicode-2.8.11.0-py27.exe
通过 GUI2exe-0.5.0.zip 构建二进制文件
在 Windows Server 2003 Standard x64 Edition SP2 上 我曾经在 Intel Xeon CPU 机器(当然是 win2003x64)上构建了完全相同的代码(项目), 它成功了(工作意味着taskmgr的进程名称中没有“*32”尾随,并且还使用每个CPU/核心)。
ps 我无法提供完整的源代码,因为它是一个大项目。
My problem is
my python binaries not running as 64bits program on my amd64(Opteron 8214, 4 cpu) server.
The machine is a Dual-Core, so there are 8 core shown in taskmgr.
It shown no "*32" in taskmgr(so it probably already in 64bits mode), but use only one core.
And I take same code(project) to compiled and executed on an Intel Xeon machine, it will use all of processor core.
So how do I fix this? Anyone have some other idea? I need to make it running 64bit to use mutli-core to get job done ASAP. It's a data parser, it took most of runtime to parsing data records(via regex) then insert into mssql db.
Any comment is welcome. I've been working on this many weeks.
Official & third-party packages I used listed here.
python-2.7.1.amd64.msi
pywin32-214.win-amd64-py2.7.exe
pyodbc-2.1.8.win-amd64-py2.7.exe
py2exe-0.6.9.win64-py2.7.amd64.exe
wxPython2.8-win64-unicode-2.8.11.0-py27.exe
build binary via GUI2exe-0.5.0.zip
On Windows Server 2003 Standard x64 Edition SP2
I ever built exactly same code(project) on Intel Xeon CPU machine(win2003x64 of course),
And it was worked(work means no "*32" tailing on process name of taskmgr, and also use each of CPU/Core).
p.s. I cannot provide whole source code since it is a large project.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可能需要检查标准 Python 库附带的
subprocess
和threading
模块来解决您的多核问题。至于64位的问题,你确定需要额外的内存空间吗?我从来没有遇到过 32 位 python 的任何问题。You might want to check out the
subprocess
andthreading
modules that come with the standard Python library with regards to your multi-core issue. As for the 64bit issue, are you sure you need the additional memory space? I've never had any issue with 32bit python.