mysql老是挂的问题

190629 10:44:21 [ERROR] mysqld: Out of memory (Needed 128917504 bytes)
190629 10:44:21 [ERROR] mysqld: Out of memory (Needed 96681984 bytes)
190629 10:44:23 InnoDB: The InnoDB memory heap is disabled
190629 10:44:23 InnoDB: Mutexes and rw_locks use GCC atomic builtins
190629 10:44:23 InnoDB: Compressed tables use zlib 1.2.7
190629 10:44:23 InnoDB: Using Linux native AIO
190629 10:44:27 InnoDB: Initializing buffer pool, size = 50.0M
190629 10:44:27 InnoDB: Completed initialization of buffer pool
190629 10:44:27 InnoDB: highest supported file format is Barracuda.
190629 10:44:28 InnoDB: Starting crash recovery from checkpoint LSN=12288135
190629 10:44:30 mysqld_safe mysqld from pid file /var/run/mariadb/mariadb.pid ended

日志是这些,是因为内存不够的原因吗?
我那服务器是1g内存的centos,调整哪些参数可以让他吃内存小点呢?其实网站基本没啥人访问的。

阅读 2.1k
2 个回答

不是报错提示oom了吗
设置个swap试试?

问题原因是:
190629 10:44:21 [ERROR] mysqld: Out of memory (Needed 128917504 bytes)

MySQL使用内存的粗略计算:
innodb_buffer_pool_size
+ key_buffer_size
+ max_connections*(sort_buffer_size+read_buffer_size+binlog_cache_size)
+ max_connections*2MB

你可以排查一下,把上面计算公式的相关参数改小一点。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题