今天,在用python处理大量数据的时候,运行到后面出现MemoryError的问题,如下图所示:
在这里插入图片描述
可是查看了一眼代码运行时候的内存,明明还没有满……
在这里插入图片描述
然后查了下,说是虚拟内存不足导致的,那就扩加虚拟内存,我的电脑是win10的,可以按照以下方面设置:

1、此电脑,右键,属性
2、高级,设置
3、选择“高级”,虚拟内存栏中选择“更改”
4、把自动管理所有驱动器的分页文件大小勾去掉
5、自定义大小,初始大小设置1000,最大值6000
6、点击设置,然后确定
7、重启电脑
参考:https://baijiahao.baidu.com/s?id=1621157354219504755&wfr=spider&for=pc

但是,重启完,运行代码,结果发现还是出现MemoryError的问题,只能再继续找原因,后来查资料发现,当你安装的python是32位的时候,内存使用超过2G时,就会自动终止内存!!
那么解决方案就是,把原来32位的python卸载了,重新安装64位的python
至此,我运行代码就没有继续出现MemoryError的问题了。
在这里插入图片描述

其他,为了避免以后再出现,把pycharm中也做一下调整:

打开pycharm安装目录D:\PyCharm Community Edition 2019.2\bin,找到pycharm.exe.vmoptions文件,编辑
源文件:

-Xms128m
-Xmx768m
-XX:ReservedCodeCacheSize=240m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-XX:CICompilerCount=2
-Dsun.io.useCanonPrefixCache=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Djdk.attach.allowAttachSelf

修改
-Xms为 256m
-Xmx为 2048m

-Xms256m
-Xmx2048m
-XX:ReservedCodeCacheSize=240m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-XX:CICompilerCount=2
-Dsun.io.useCanonPrefixCache=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Djdk.attach.allowAttachSelf
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐