最近在跑模型压缩,64G内存经常用爆,一般电脑拥有16G以上的内存,基本上不用设置swap空间,但是某些情况比如模型压缩,实在是太耗资源,必须分配一定的swap内存。
这个swap空间一般是装系统的时候分配的,当然我们并不需要重装系统,来扩充swap,你可以使用free,top等命令查看拥有和使用的swap内存,我用的服务器只设置了2G的swap,当我跑模型压缩的时候,占用了1.96swap内存,内存也使用了50几G,将近用完,virt内存更不用说了,肯定比我拥有的内存要大
一般swap文件放在根目录下,或者根目录的swap dir下,名字一般叫swap.disk、swapfile或者sfile等,
sudo swapoff swapfile #停止使用swap内存
sudo rm swapfile #删除swap文件
sudo dd if=/dev/zero of=swapfile bs=1M count=128k # 创建128G空间大小的swap文件
sudo mkswap -f swapfile # 将swapfile转化为swap文件
sudo swapon swapfile # 激活swap文件
free -m # 查看结果
swap空间开机设置在/etc/fstab下,没建过的话,需要在文件末尾手动添加,建过的话,只要swapfile写成跟原来一样的名字就行,不用改/etc/fstab
扩充完后,运行良好,再也没报oom错误