Skip to content

我在使用WordPress上传图片的时候,遇到error establishing a database connection problem,查看了MySQL的错误日志,文件位置一般在/var/log/mysqld.log,看到一段话:out of memory,Cannot allocate memory for the buffer pool,因为我这个服务器才1GB的内存,MySQL自然就分配不到太多的内存,所以没有多余内存分配给MySQL也很正常,既然知道哪里有问题,那我们就来解决它,有两种解决办法:

  • 增加swap虚拟内存
  • 修改innodb_buffer_pool_size大小

这里我选择增加swap虚拟内存,因为实际内存就1G,如果增加了innodb_buffer_pool_size的大小,其它应用的内存肯定会分配的少了,虚拟内存使用的是硬盘空间,合理的分配虚拟内存可以减少服务器压力,提升服务器响应速度。

swap虚拟文件

首先使用swapon -s查看下Linux服务器有没有配置过swap虚拟内存,如果已经配置了会显示:

[root@SEOZEN.top ~]# swapon -s Filename Type Size Used Priority /swapfile file 1023996 0 -2

没有配置就不会有任何显示信息,如果没有创建首来创建一个swap文件:

dd if=/dev/zero of=/swapfile bs=1024 count=1024000

修改下文件权限:

sudo chmod 600 /swapfile

使用swap文件

使用如下命令来告诉系统,使用我们刚才创建的文件作为swap文件

sudo mkswap /swapfile

使用这个文件:

sudo swapon -f /swapfile sudo swapon -s

开机生效

让这个文件永久生效,使用vim编辑/ect/fstab文件,加下如下代码:

sudo vim /etc/fstab /swapfile swap swap sw 1023996 1023996

参考链接:https://blog.csdn.net/turbock/article/details/102692693