几个小时后,sertp_sendmsg()失败,并将errno设置为11(“资源暂时不可用”)

时间:2019-03-11 03:00:35

标签: sctp

我正在处理的旧代码反复调用sctp_sendmsg()。在运行代码的前几个小时,调用总是成功的(返回大于0的整数)。但是,此后,对该API的重复调用会永久返回-1,并将errno设置为11(“资源暂时不可用”)。

在永久性失败时,运行代码的进程在top中显示较低的CPU和内存使用率:

 PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
6059 root      20   0  143344 131352   9912 S  10.8  0.1  13:00.85 some_program

但是,当我检查SCTP assocs统计信息时,我注意到传输队列的大小很大:

cat /proc/`ps -ef | egrep some_program | head -n 1 | awk '{print $2}'`/net/sctp/assocs

SCTP assocs statistics

巨大的传输队列大小是一个问题吗?如果是这样,可能是什么原因造成的?如何进一步诊断问题以找到根本原因和解决方案?

0 个答案:

没有答案