摘要: Recv-Q:表示收到的数据中还有多少没有被进程取走(通过recv)Send-Q:表示需要发送的数据还有多少没有被发出所以,一般来说这两个值都是0,如果不为0且持续增长,那就表明程序出现了问题。比如Recv-Q的数字持续增长,表示没有进程去取这些收到的数据。比如使用select+recv来收数据的时候,由于select有1024这个限制,所以如果socket的FD大于1024的时候,就会导致这个socket FD上的数据不会被select检测到从而导致recv不会被调用。所以,通过netstat的这两个值就可以简单判断程序收不到包到底是包没到还是包没有被进程recv。 阅读全文
posted @ 2012-03-14 17:05 super119 阅读(7059) 评论(0) 推荐(0) 编辑
摘要: 比如我们有个进程创建了一个socket FD,这个socket监听在UDP 5060端口上。我们现在想知道这个socket在这个进程中对应的FD是多少,那就可以这样:lsof -i @0.0.0.0:5060输出类似:COMMAND PID USER FD TYPE DEVICE SIZE NODE NAMEicebox.si 10005 root 10u IPv4 15963326 UDP *:sip所以可以看到是进程10005的10号FD,对应就是这个socket。 阅读全文
posted @ 2012-03-14 14:02 super119 阅读(1130) 评论(0) 推荐(0) 编辑