1. 由于博主是学生党,笔记本内存16g有限,虚拟机分配4节点2g运行spark集群任务时会报内存不足的问题,所以本篇博客是使用本地硬盘内存来拓展虚拟机内存。
下图为spark执行任务时内存不足的错误提示
2. 首先我们查看在未增加swap(交换分区)之前虚拟机内存的使用情况(由于是虚拟机,所以本地Swap显示2g)
查看命令:free -m
3. 进入到usr目录下,新建一个名叫swap的文件夹
进入目录命令:cd /usr
创建文件命令:mkdir swap
4. 接着进入swap文件夹,创建swap文件
进入文件夹命令:cd swap
创建swap文件命令:dd if=/dev/zero of=swapfile bs=100M count=30
这条命令的作用是从硬盘里分出一个100M ×30 = 3G 大小的空间,挂在swapfile上(可根据自己需求改变大小)
注意:这里我们bs(buff size)给的100M, bs大小可以根据free -h命令查看的buff/cache的大小来决定
如果给大了可能会报dd: memory exhausted by input buffer of size 1073741824 bytes (1.0 GiB)
创建完成之后可以使用命令:ll -h
查看
5. swapfile文件创建完成后,需要构建swap格式于 /usr/swap/swapfile 上
构建命令:mkswap /usr/swap/swapfile
6. 用命令激活swap,使用命令 立即启用交换分区文件
启动命令:swapon /usr/swap/swapfile
注意:这样的设置重启后就失效了,为了保证每次启动都能启用该交换空间,需要手动编辑文件/etc/fstab中的swap行
编辑命令:vi /etc/fstab
如果有 /swap none swap sw 0 0 这行配置 记得#注释掉
新增一行配置 /usr/swap/swapfile swap swap defaults 0 0
7. 当我们再使用free -m
的命令查看内存情况,发现内存已经创建成功
8. 到这里使用硬盘内存扩容就已经成功了,当然了也有简单暴力的方法,直接用本机内存给虚拟机扩容(建议根据自己电脑实际情况使用,扩容前做好快照,以便恢复)
注意:这个方法降低内存容量时,必须要关闭虚拟机,不是挂机
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/13720.html