启动mysql 无法申请内存错误 Fatal error: cannot allocate memory for the buffer pool

本文介绍了一种解决Linux系统中因内存不足导致的fatal error问题的方法。通过检查当前系统的内存使用情况,利用命令创建额外的交换空间(SWAP),从而缓解内存压力。适用于遇到类似问题的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Fatal error: cannot allocate memory for the buffer pool

free查看内存,若是swap无剩余
$ sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 #增加1G的SWAP进去
$ sudo mkswap /swapfile
$ sudo swapon /swapfile
$ free

查看swap是否有剩余

             total       used       free     shared    buffers     cached
Mem:        608476     601432       7044          0        824      88752
-/+ buffers/cache:     511856      96620
Swap:      1048572          0    1048572

再重新启动
root@ecm-e00f:/# sudo journalctl -u mariadb -xe # 检查启动错误 Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] InnoDB: Initializing buffer pool, total> Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] InnoDB: Initialized memory pressure eve> Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] InnoDB: Completed initialization of buf> Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] InnoDB: File system buffers for log dis> Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] InnoDB: End of log at LSN=46996 Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] InnoDB: 128 rollback segments are activ> Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] InnoDB: Setting file './ibtmp1' size to> Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] InnoDB: File './ibtmp1' size is now 12.> Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] InnoDB: log sequence number 46996; tran> Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] InnoDB: Loading buffer pool(s) from /yu> Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] Plugin 'FEEDBACK' is disabled. Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] Server socket created on IP: '0.0.0.0'. Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] Server socket created on IP: '::'. Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] InnoDB: Buffer pool(s) load completed a> Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] /usr/sbin/mariadbd: ready for connectio> Jun 25 16:43:09 ecm-e00f mariadbd[336798]: Version: '10.11.11-MariaDB-0+deb12u1' socket: '/run/mysqld/mysqld.s> Jun 25 16:43:09 ecm-e00f systemd[1]: Started mariadb.service - MariaDB 10.11.11 database server. ░░ Subject: A start job for unit mariadb.service has finished successfully ░░ Defined-By: systemd ░░ Support: https://www.debian.org/support ░░ ░░ A start job for unit mariadb.service has finished successfully. ░░ ░░ The job identifier is 57427. Jun 25 16:43:09 ecm-e00f /etc/mysql/debian-start[336825]: Checking for insecure root accounts. Jun 25 16:43:09 ecm-e00f /etc/mysql/debian-start[336829]: Triggering myisam-recover for all MyISAM tables and a> lines 960-985/985 (END) Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] InnoDB: Initializing buffer pool, total size = 128.000MiB, chunk size = 2.000MiB Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] InnoDB: Initialized memory pressure event listener Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] InnoDB: Completed initialization of buffer pool Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] InnoDB: File system buffers for log disabled (block size=512 bytes) Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] InnoDB: End of log at LSN=46996 Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] InnoDB: 128 rollback segments are active. Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ... Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB. Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] InnoDB: log sequence number 46996; transaction id 14 Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] InnoDB: Loading buffer pool(s) from /yunxiang/data/mysql/ib_buffer_pool Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] Plugin 'FEEDBACK' is disabled. Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] Server socket created on IP: '0.0.0.0'. Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] Server socket created on IP: '::'. Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] InnoDB: Buffer pool(s) load completed at 250625 16:43:09 Jun 25 16:43:09 ecm-e00f mariadbd[336798]: 2025-06-25 16:43:09 0 [Note] /usr/sbin/mariadbd: ready for connections. Jun 25 16:43:09 ecm-e00f mariadbd[336798]: Version: '10.11.11-MariaDB-0+deb12u1' socket: '/run/mysqld/mysqld.sock' port: 3306 Debian 12 Jun 25 16:43:09 ecm-e00f systemd[1]: Started mariadb.service - MariaDB 10.11.11 database server. ░░ Subject: A start job for unit mariadb.service has finished successfully ░░ Defined-By: systemd ░░ Support: https://www.debian.org/support ░░ ░░ A start job for unit mariadb.service has finished successfully. ░░ ░░ The job identifier is 57427. Jun 25 16:43:09 ecm-e00f /etc/mysql/debian-start[336825]: Checking for insecure root accounts. Jun 25 16:43:09 ecm-e00f /etc/mysql/debian-start[336829]: Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables ~
最新发布
06-26
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值