FlushCache: 提醒SQLSERVER卡死,如何确定是问题原因

arecaiz 2016-01-20 08:56:48
先说一下硬件信息
服务器2棵4核心8线程处理器,128G内存
现在数据有3个库,数据库文件比较 大,每个数据1T左右。每秒时在线500左右。
有很多表数据量都在1亿-2亿条,但因为数据结构简单,基本上存储过程操作都200毫秒之内

现在不定期出现FlushCache提示,然后服务器都会卡一会。可能几分钟。
日志如下:
FlushCache: cleaned up 1808 bufs with 1153 writes in 235582 ms (avoided 257 new dirty bufs) for db 20:0

average throughput: 0.06 MB/sec, I/O saturation: 7999, context switches 16454

last target outstanding: 80, avgWriteLatency 15

...全文
1462 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxq129601 2019-11-01
  • 打赏
  • 举报
回复
我的库每天晚上0点-1点也是这个状况,awayson环境 2019-11-01 00:00:44.40 spid53s This instance of SQL Server has been using a process ID of 1788 since 2019/5/15 20:27:31 (local) 2019/5/15 12:27:31 (UTC). This is an informational message only; no user action is required. 2019-11-01 00:40:52.08 spid64s FlushCache: cleaned up 256980 bufs with 189811 writes in 115853 ms (avoided 160 new dirty bufs) for db 7:0 2019-11-01 00:40:52.08 spid64s average writes per second: 1638.38 writes/sec average throughput: 17.32 MB/sec, I/O saturation: 119867, context switches 201407 2019-11-01 00:40:52.08 spid64s last target outstanding: 8400, avgWriteLatency 0 2019-11-01 00:43:37.92 spid64s FlushCache: cleaned up 218858 bufs with 167945 writes in 116397 ms (avoided 55 new dirty bufs) for db 7:0 2019-11-01 00:43:37.92 spid64s average writes per second: 1442.86 writes/sec average throughput: 14.68 MB/sec, I/O saturation: 129786, context switches 233082 2019-11-01 00:43:37.92 spid64s last target outstanding: 48, avgWriteLatency 47
Tiger_Zhao 2016-01-27
  • 打赏
  • 举报
回复
因为你的服务器太“忙”了。
本来更新的数据先缓存在内存中,滞后写入硬盘,可以提高更新的速度。
但是你的服务器一直保持着“每秒时在线500左右”的繁忙状态,写缓存的速度远大于写硬盘的速度,等缓存满的时候只能暂停更新,专门写硬盘以清出可以的缓存空间。
这基本上除了改用固态硬盘等方式加快硬盘写入速度,没有更好的方法了。
wtujedp 2016-01-27
  • 打赏
  • 举报
回复
关注,帮顶一下
中国风 2016-01-27
  • 打赏
  • 举报
回复
可尝试 配置恢复间隔服务器配置选项 https://technet.microsoft.com/zh-cn/library/ms191154.aspx 数据库应该是完整模式吧?定期备份日志,控制好日志文件大小
baidu_33859351 2016-01-26
  • 打赏
  • 举报
回复
请问解决了吗?我也遇到这种问题了?
wtujedp 2016-01-21
  • 打赏
  • 举报
回复
不是用的人不多,是你这个数量级的用MSSQL不多
arecaiz 2016-01-21
  • 打赏
  • 举报
回复
看来MSSQL用的人真不多。
arecaiz 2016-01-21
  • 打赏
  • 举报
回复
引用 3 楼 wtujedp 的回复:
不是用的人不多,是你这个数量级的用MSSQL不多


其实大多时间还是没什么问题的。我使用MSSQL 2012 ALWAYSON 进行读写分离。

就是偶尔出现一下问题。觉得比较奇怪。
arecaiz 2016-01-20
  • 打赏
  • 举报
回复
顶,不要沉呀!

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧