开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第10天,点击查看活动详情
解决服务器内存不足的问题。
解决方案:
- 停掉其他服务,再去进行当前任务
- 充钱,扩大内存
- 开启虚拟内存
大家可能听到过,在windows系统中有虚拟内存的概念,在linux系统中有一个swap分区的概念,swap和windows中虚拟内存的作用大相径同。下面了解一下什么是swap,以及swap的作用。
当CentOs安装完成后,就已经建立了swap分区,这是一块特殊的硬盘空间,即当实际内存不够用的时候,操作系统会从内存中取出一部分暂时不用的数据,放在交换分区中,从而为当前运行的程序腾出足够的内存空间。
百科介绍:Swap分区_百度百科
1、查看磁盘使用状况
使用命令: free -h
这个时候,服务器中目前运行着ElasticSearch和Kibana,就已经是占用了2.8G,我们总共能够看到的也就3.6G。而swap交换区还没有设置,都显示为0B。
2、查看虚拟空间是否被使用
使用命令:top
3、设置Swap分区
使用dd命令创建名为swapfile 的swap交换文件,这里命名为swapfile (也可以命名为其他文件名),
bs代表数据块,单位数据块(block)同时读入/输出的块字节大小为1024 个字节即1KB,bs(即block size)。设置的虚拟空间大小为4G(可以按照实际需要自行更改):
dd if=/dev/zero of=/var/swapfile bs=1024 count=4194304
执行需要点时间,耐心等待
4、格式化交换文件,转化swap分区
使用命令:mkswap /var/swapfile
5、赋可读权限
使用命令:chmod -R 0600 /var/swapfile
6、挂载激活分区
swapon /var/swapfile
7、设置分区在开机的时候自动挂载
echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab
8、再次查看虚拟空间是否被使用
使用:top
因为我使用的finalShell第三方工具,所以不用命令也可以直接看到
最后再执行引起这个错误的命令,一切ok.