在PyCharm中运行py文件时如何提升单个Python进程的内存上限
Python运行环境内存上限提升方案
你此前修改的pycharm64.exe.vmoptions是针对PyCharm本身的Java虚拟机的配置,和你运行代码时启动的python.exe子进程完全无关,调整该配置无法改变Python运行环境的内存上限,可按以下步骤排查调整:
1. 排查Python版本架构
- 若你安装的是32位版本的Python,单进程内存上限最高仅为2G左右,部分场景下会出现500M左右的瓶颈,直接卸载32位版本,安装对应系统的64位Python即可解除该架构限制。
验证版本方法:在终端输入python -V,若输出内容包含32 bit字样即为32位版本。
2. 修改PyCharm运行配置的内存限制
PyCharm默认不会主动限制Python进程的内存,若你此前手动加过特殊配置,可按以下步骤调整:
- 打开PyCharm右上角运行按钮旁的下拉框,选择「Edit Configurations...」
- 找到对应要运行的Python文件的配置项,定位到「Environment variables」配置栏
- 检查是否存在
PYTHONMEMLIMIT之类的内存限制环境变量,如有直接删除,或修改为你需要的上限值,例如PYTHONMEMLIMIT=8G即为限制为8G内存 - 若代码中引入了
memory_profiler、pympler等带内存限制功能的第三方库,直接修改代码中对应的内存上限参数即可
3. 排查系统级内存限制
- Windows系统:检查是否开启了进程内存配额限制,或是第三方安全软件主动限制了
python.exe的内存占用,关闭对应限制即可 - Linux/macOS系统:终端输入
ulimit -a查看max memory size的数值,若数值过低,运行ulimit -m unlimited可临时解除内存限制,需要永久生效的话修改/etc/security/limits.conf对应配置即可
4. 特殊场景排查
如果以上操作都完成后仍有内存上限,大概率是代码本身的特性导致:
- 若代码中使用生成器、迭代器替代全量列表加载,内存占用低属于正常优化结果,不属于被限制的情况
- 若使用
numpy、pandas等数据处理库,检查是否手动设置了mem_limit之类的参数,调整到对应需求值即可
内容的提问来源于stack exchange,提问作者jaried
相关产品推荐
相关产品推荐

