mysql不同步数据,mysql主从之间不同步问题

bc3f9276acf88283a0569b9b9ef9ee92.png

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

1.日志如下:

120327 11:42:04 [ERROR]/usr/coolpad/mysql/bin//mysqld:排序中止

InnoDB:HugeTLB:警告:无法分配4194304字节。 Errno 12

InnoDB HugeTLB:警告:使用常规内存池

现象:主服务器(192.168.0.27),从服务器(192.168.0.26)

数据可以从主机同步到主机,但不能从主机同步。使用显示从站状态\\\\ G进行查看。一切正常。当时的负载也很小。在互联网上发现了一个案例。耗时的sql(如果未完成)会发现错误,并终止sql的操作,从而使主节点受到写保护并重新启动。

2.结果,主从数据库不一致,并且重新启动后仍未解决,并且数据仍然不一致。我将删除从节点的数据库,然后再次导入主节点的备份数据。

3.请问英雄们是否有解决此情况的好方法。导入备份数据很愚蠢,需要很长时间,从而导致业务中断。

期待! !

首先说明

InnoDB:HugeTLB:警告:无法分配4194304字节。 Errno 12

InnoDB HugeTLB:警告:使用常规内存池

这时,使用大页面的原因是有人说大页面可以提高性能,但是我几乎测试了性能,但是使用它有好处,可以防止mysqld在交换中使用。是什么原因?

因为大页是一次性的,而分配内存时是排他的,所以一次是什么?一次性是指当mysqld启动时,缓冲池所需的所有内存的总和将一次分配,并且分配的内存不能被其他进程占用。因此,它是一次性的且排他的。一次分配缓冲池所需的内存时,肯定不会使用交换。

好的,使用常规内存池意味着什么?因为您的大页内存不足以容纳缓冲池大小,所以请使用常规内存。

要查看当前的大页面大小,可以使用以下命令:

grep-i hugepage/proc/meminfo

设置其大小以使用:

vi/etc/sysctl.conf然后有一个巨大的页面设置行。

生效sysctl-p

博学,表达对楼上的尊重

我被教导了,谢谢

我被教导了,谢谢

二,配置Hugepage

因为大页面部分的共享内存不能被交换使用,也不能被其他进程使用,所以如果大页面共享内存设置太大,将导致系统挂起。

为了考虑性能而不浪费内存,请确保将大页部分中的共享内存设置为最佳值。以下是一些参考:

1)如果它是32位操作系统,并且未使用VLM,则设置此服务器上运行的所有实例的hugetlb_pool = SGA总和。如果有一个ASM,则每个ASM实例将再增加200M

2)如果它是32位操作系统,并且使用了VLM,则对服务器上运行的所有实例(数据缓冲区除外)设置hugetlb_pool = SGA sum。如果有一个ASM,则每个ASM实例将再增加200M

3)如果它是64位操作系统,则无论是否启用了VLM,都应设置hugetlb_pool =服务器上运行的SGA的所有实例的总和。如果有一个ASM,则每个ASM实例将再增加200M

在RHEL 2.1/3/4中设置大页面的方法有所不同,因为2.1版本太低,因此在此不再赘述。

1.在RHEL3中设置大页

非常简单,只需在/etc/sysctl.conf中添加以下行:

#SET 1024M巨页内存

vm.hugetlb_pool = 1024

执行sysctl-p使修改生效。

目前,您可以从/proc/meminfo验证设置是否生效:

$ more/proc/meminfo | grep-i HugePage

HugePages_Total: 512

HugePages_Free: 512

超大尺寸:\\ ubsp; 2048 kB

因为设置了1024M的hugepage_pool,所以每页为2M,因此将有512页。

理想情况下,当oracle实例启动时,HugePages_Free应该等于或接近0。

2.在RHEL4中设置大页面

与RHEL3类似,在RHEL4中配置大页面也非常简单,

1)在/etc/sysctl.conf中添加以下行:

#SET 1024M巨页内存

vm.nr_hugepages = 512

在RHEL4中,直接设置大页面的页数。

执行sysctl-p使修改生效。

2)在/etc/security/limits.conf中添加以下行

oracle \ 柔和的记忆锁 1048576

oracle \ 硬\\ n 记忆锁 1048576

必须设置此项,否则启动数据库时可能会报告错误:

ORA-27103:内部错误

Linux错误:11:资源暂时不可用

目前,您可以从/proc/meminfo验证设置是否生效:

$ more/proc/meminfo | grep-i HugePage

HugePages_Total: 512

HugePages_Free: 512

超大尺寸:\\ ubsp; 2048 kB

理想情况下,当oracle实例启动时,HugePages_Free应该等于或接近0。

如果您不想设置大页面,只需设置vm.nr_hugepages =0。

有几点要注意:

1)无论RHEL3还是RHEL4,只要设置了hugepage_pool或nr_hugepages,就意味着将指定大小的内存固定在内存中。即使SGA所需的共享内存小于设置的hugepage_pool,这部分内存也不能被其他进程使用。因此,有必要计算所需的尺寸。设置过多的大页共享内存以避免浪费是不合适的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值