Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2353695
  • 博文数量: 276
  • 博客积分: 5998
  • 博客等级: 大校
  • 技术积分: 5175
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-24 14:43
文章分类

全部博文(276)

文章存档

2014年(25)

2013年(11)

2012年(69)

2011年(167)

2010年(4)

分类: Mysql/postgreSQL

2011-10-17 13:27:04

nnoDB: ERROR: the age of the last checkpoint is 505757614,
InnoDB: which exceeds the log group capacity 483180135.
InnoDB: If you are using big BLOB or TEXT rows, you must set the
InnoDB: combined size of log files at least 10 times bigger than the
InnoDB: largest such row.
—————
有时我们看到如上的错误日志. 是因为的并发事务量,同时更新的事务过多,一下子有大量的脏数据,而这些脏数据是需要刷新到磁盘的.增大事务日志大小可能不能解决问题.
checkpoint age的计算如下:
使用mysql> show innodb status;
---
LOG
---
Log sequence number 1202 712212913
Log flushed up to   1202 712155307
Last checkpoint at  1202 526490071
0 pending log writes, 0 pending chkp writes
2990007 log i/o's done, 1.36 log i/o's/second
----------------------
BUFFER POOL AND MEMORY


(1202 – 1202) * 2^32 + (712212913 – 526490071)
= 185722842

————————————
一般 max chekcpoint age 的大小为70-80%的 所有日志文件大小,(innodb_log_file_size * innodb_log_files_in_group)
如果经常出现这个错误,官方的mysql版本,可以缓解的办法是
1.增大事务日志大小; #所有日志总和不能超过4G.
2.设置下innodb_max_dirty_pages_pct为更小值,这样会增加io,但碰到超过max chekcpoint age的可能性会降低.

阅读(1749) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~