監控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太高 有詳細示例及分析過程