CentOs增加虚拟内存,解决云端内存不足问题

657 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第10天,点击查看活动详情

解决服务器内存不足的问题。 image.png

解决方案:

  1. 停掉其他服务,再去进行当前任务
  2. 充钱,扩大内存
  3. 开启虚拟内存

大家可能听到过,在windows系统中有虚拟内存的概念,在linux系统中有一个swap分区的概念,swap和windows中虚拟内存的作用大相径同。下面了解一下什么是swap,以及swap的作用。

当CentOs安装完成后,就已经建立了swap分区,这是一块特殊的硬盘空间,即当实际内存不够用的时候,操作系统会从内存中取出一部分暂时不用的数据,放在交换分区中,从而为当前运行的程序腾出足够的内存空间。

百科介绍:Swap分区_百度百科

1、查看磁盘使用状况

使用命令: free -h

image.png

这个时候,服务器中目前运行着ElasticSearch和Kibana,就已经是占用了2.8G,我们总共能够看到的也就3.6G。而swap交换区还没有设置,都显示为0B。

2、查看虚拟空间是否被使用

使用命令:top

image.png

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

执行需要点时间,耐心等待 image.png

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

image.png

8、再次查看虚拟空间是否被使用

使用:top

因为我使用的finalShell第三方工具,所以不用命令也可以直接看到

image.png

最后再执行引起这个错误的命令,一切ok.