监控time_wait状态tcp/ip链接java
> netstat -an | findstr "TIME_WAIT"segmentfault
若是监控此值发现量比较大,且有相似socketException异常,tps不稳定。缘由多是请求多,tcp链接释放慢致使链接不够用。解决方法是减小链接释放时间。修改注册表中/tcpip/Parameters中,TcpTimedWaitDelay值、maxuserPort表示最大的链接数。windows
> netstat -an | find "TIME_WAIT" /C性能优化
统计tcp链接数量socket
>netstat -an | find "TCP" /Ctcp
查看1099端口是否被占用工具
> netstat -ano | findstr "1099"
> tasklist | findstr "1099"性能
如何查看进程、查看线程优化
工具1:使用window自带命令pslist操作系统
首先确认系统是否安装了pslist命令程序,若是命令不识别即没有安装,则上微软官方网址http://technet.microsoft.com/en-us/sysinternals/bb896682.aspx下载,下载完将其解压到C:\Windows\System32路径下便可使用。
在cmd命令窗口中执行命令:pslist -dmx 9272,该命令的做用是罗列属于9272进程的线程信息。
工具2:进程线程信息分析Process Explorer工具(ProcessThreadsView)
通常在windows下只能查看进程的CPU占用率,想要查看线程的CPU占用率能够经过该工具。下载地址是:http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx
TaskInfo for windows ,使用该工具定位线程占用CPU高的问题就很方便,经过该工具能够观察到进程中全部线程的运行细节,当经过该工具发现某个线程占用CPU异常时,能够记录下来它的“Thread ID”,而后再到线程堆栈中搜索 nid=xxx 的对应线程。
如何在windows下查找java应用占用CPU太高 有详细示例及分析过程