windows 監控

 

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

抽絲剝繭定位Windows客戶端CPU佔用問題

Java性能優化——操做系統性能監控