【发布时间】:2019-03-30 09:47:33
【问题描述】:
我有几个每分钟使用 crontab 运行的 python 脚本。 使用 pip3 安装 python-binance 后,只有有时(对我来说似乎是随机的)我所有使用密码库的脚本都会在导入时卡住。
正如您从下面的日志中看到的那样,本应每分钟运行一次且持续时间不到一秒的内容,在某些时候却花费了十多分钟。
2019-03-30 08:51:07 INFO (done)
2019-03-30 08:52:07 INFO (done)
2019-03-30 08:53:07 INFO (done)
2019-03-30 09:04:45 INFO (done)
2019-03-30 09:05:45 INFO (done)
2019-03-30 09:06:45 INFO (done)
为了调试问题,我使用 python -vv 循环运行脚本。
在缓慢的迭代过程中,python解释器在这里卡了几分钟
# trying /home/user/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/kdf/scrypt.cpython-36m-x86_64-linux-gnu.so
# trying /home/user/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/kdf/scrypt.abi3.so
# trying /home/user/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/kdf/scrypt.so
# trying /home/user/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/kdf/scrypt.py
# /home/user/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/scrypt.cpython-36.pyc matches /home/user/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/kdf/scrypt.py
# code object from '/home/user/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/scrypt.cpython-36.pyc'
import 'cryptography.hazmat.primitives.kdf.scrypt' # <_frozen_importlib_external.SourceFileLoader object at 0x7f5aff05d6a0>
附加信息:
- 操作系统:Ubuntu 18.04
- Python版本:python3 3.6.7-1~18.04
Python-binance 版本:python-binance==0.7.1
这不是资源问题,当解释器卡住时,CPU 的使用率低于 20%,有大量可用 RAM 且没有磁盘瓶颈
- 此问题出现在具有相同配置的不同服务器上
- 我尝试使用 venv 运行脚本,结果相同
更新: 在 python discord 频道上提出建议后,我又尝试了一件事,不幸的是没有帮助
- 将 ulimit -n 从 1024 增加到 4096
非常感谢任何帮助
【问题讨论】:
-
这里也一样。 Python 3.7.3,debian 9。也只是有时。还有 virtualenv,但没有安装这样的库。
-
很奇怪...在安装 python-binance 之前我没有任何问题。你会卡在同一点吗?你试过 python3 -vv 了吗?
-
是的。安装了很多模块,但我一次安装了它们,所以我无法快速找出导致问题的原因。
-
我刚刚在这里打开了这个问题——bugs.python.org/msg340722
-
嗨,Serge,感谢您告诉我!希望我们能就如何进一步排除故障得到一些好的建议!
标签: python-3.x performance python-import