---
title: 日志中大量打印 write cond wakeup 的含义-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于日志中大量打印 write cond wakeup 的含义相关的常见问题和使用技巧，帮助您快速解决日志中大量打印 write cond wakeup 的含义的难题。
---
切换语言

- 简体中文
- English

划线反馈

# 日志中大量打印 write cond wakeup 的含义

更新时间：2026-06-16 09:21

适用版本： V3.1.x、V3.2.x、V4.0.x、V4.1.x、V4.2.x、V4.3.x 内容类型：TechNote  

结合代码 `src/rpc/obmysql/ob_sql_nio.cpp`，可以知道，在 write data 的过程中，当 `EAGAIN == errno || EWOULDBLOCK == errno` 的时候，系统会每隔 1s（1000 * 1000）， 打印日志 `write cond wakeup`。 其中 `EAGAIN` 表示 `Try again`，`EWOULDBLOCK` 表示 `Operation would block`。 当日志中持续打印 `write cond wakeup`，通常意味着 OBServer 尝试写回包，但是 socket 一直不可写（等待着客户端处理），因此每隔一秒钟都会重试，且打印输出日志 `write cond wakeup`。如果持续打印的时间比较久，那么需要关注这个问题。

![image](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/storage/20250710meaning-of-a-large-number-of-write-cond-wakeup-printed-in-log.png)

从 `print_session_info` 可以找到这个 socket 的这个文件的（`fd:794`），然后通过 `ls -alh /proc/pid/fd/` 可以查到对应的 Inode。 再通过执行 `netstat -aen |grep Inode`，定位到对应的 socket 连接的端口号，这时观察 socket 的 `Send-Q` 和 `Recv-Q` ，如果是 `Send-Q` 的 buff size 一直没有变化，就可以确认这个 socket 一直不可写。此时，通常需要进一步排查客户端和 OBServer 端是否存在网络问题。

## 适用版本

OceanBase 数据库 V3.x、V4.x 版本。

Previous

[腾讯云 cos 对象存储目的端报错 -9071 或 -9026，不再支持 append 写，需改用 s3](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000004521620)

Next

[加新 Zone 后磁盘数据不同步，报错 4184 问题](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000003894747) ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
