windows 监控

时间:2024-01-01 15:52:15

监控time_wait状态tcp/ip连接

> netstat -an | findstr "TIME_WAIT"

如果监控此值发现量比较大,且有类似socketException异常,tps不稳定。原因可能是请求多,tcp连接释放慢导致连接不够用。解决方法是减少连接释放时间。修改注册表中/tcpip/Parameters中,TcpTimedWaitDelay值、maxuserPort表示最大的连接数。

> netstat -an | find "TIME_WAIT"  /C

统计tcp连接数量

>netstat -an | find "TCP" /C

查看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性能优化——操作系统性能监控