lsof -p 进程号后出现一堆sock类型的文件。超过了ulimit的限定值。导致一些请求处理失败。
java 26851 jboss5 *165u sock 0,7 0t0 207976628 protocol: TCPv6
java 26851 jboss5 *166u sock 0,7 0t0 207967655 protocol: TCPv6
java 26851 jboss5 *167u sock 0,7 0t0 207965389 protocol: TCPv6
java 26851 jboss5 *168u sock 0,7 0t0 207969159 protocol: TCPv6
java 26851 jboss5 *169u sock 0,7 0t0 207965391 protocol: TCPv6
java 26851 jboss5 *170u sock 0,7 0t0 207965476 protocol: TCPv6
java 26851 jboss5 *171u sock 0,7 0t0 207967667 protocol: TCPv6
java 26851 jboss5 *172u sock 0,7 0t0 207967668 protocol: TCPv6
问题的核心是,是什么导致了这么多sock文件?查询这个sock文件的两端。发现都是JAVA内部的线程在进行通信。
java 26851 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 12730 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 12731 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 12733 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 12737 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 12738 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 12739 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 12740 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 12741 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 12742 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 12743 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 12744 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 12745 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 12746 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 12747 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 12750 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 12751 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 12752 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 12754 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 12757 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 12759 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 12762 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 12763 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 12765 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19760 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19764 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19765 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19766 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19770 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19771 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19772 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19773 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19774 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19775 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19776 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19777 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19778 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19779 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19781 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19784 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19785 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19786 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19787 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19788 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19791 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19792 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19794 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19796 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19797 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19798 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19799 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19802 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19804 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19805 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19808 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19811 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19813 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19814 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19816 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19819 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19884 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19885 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19890 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19891 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 19894 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26852 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26853 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26854 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26855 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26856 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26857 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26858 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26859 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26860 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26861 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26862 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26863 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26864 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26865 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26866 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26867 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26871 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26872 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26873 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26875 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26876 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26877 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26882 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26883 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26884 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26885 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26886 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26887 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26888 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26889 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26890 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26891 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26892 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26895 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26896 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26897 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26898 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26900 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26903 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26904 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26906 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26907 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26908 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26909 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26912 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26913 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26914 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26915 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 26997 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 27226 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 27227 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 30342 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 30343 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 30345 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 32050 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 32051 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 32056 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
java 26851 32057 jboss5 *470u sock 0,7 0t0 208006882 protocol: TCPv6
看样子是用于内部通信的。共计123个线程使用了该sock。查看java里的所有线程数目,恰巧也是123个。这意味着所有线程都会使用该sock吗?其实并不是。因为所有线程会共享其所有的资源。
另外,我们检查了该进程一共拥有4419个网络连接。其中绝大部分都是和redis连接相关。这个会是根源吗?
毫无头绪,只能重启以下。先解决问题。重启后打开文件数目降到了只有4百多个。持有对redis的网络连接是2200个。我们的redis正好是22个节点。持有的sock文件减少到了2个。决定跟踪这个数字,来检查究竟是什么导致了这个问题。