程序运行后报错如下,且pycharm无法indexing完成持续闪退
OSError: [Errno 12] Cannot allocate memory
排错步骤
- 终端监视内存使用情况:
watch -n 2 free -m
- 清理cache:
echo 3 > /proc/sys/vm/drop_caches
结果
在程序运行过程中监视内存使用情况的终端出错,并报错Cannot allocate memory。因此判断原因是内存不够。
解决方法
首先尝试了扩大内存(即在虚拟机设置中直接扩大内存),被提示由于物理内存上限,内存最大可为4096即4GB,但实际运行中发现4G并不够用,因此学习发现可以系统swap为0,故扩大虚拟内存,即swap
步骤如下:
mkdir swap
dd if=/dev/zero of=/swap bs=1024 count=2,097,152不知道为何我无法像其他人一样用单位和*,此处2097152实际为2*1024*1024,会报错dd invalid number''
sudo chmod 600 /swap先修改权限再mkswap,否则报错mkswap:cannot open swap:IS a directory
sudo mkswap /swap
激活 swap 空间sudo swapon /swap
至此完成,再查看如下
发现swap已有空间,然后pycharm有足够内存运行,不会再闪退。