用jstat查看jvm内存的使用的情况时,因为是windows机器,不能使用top命令方便的查出来,进程好在网上搜了一下看到了在windows原来使用的是tasklist
特意将tasklist的用法记录下来。
原帖的地址是:http://hi.baidu.com/lgh_boffin/blog/item/314b1194fb957c18d21b70b6.html
“Tasklist”命令是一个用来显示运行在本地或远程计算机上的所有进程的命令行工具,带有多个执行参数。
它的使用格式为:
TASKLIST [/S system [/U username [/P [password]]]]
[/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]
参数列表:
/S system 指定连接到的远程系统(IP)。
/U [domain\]user 指定使用哪个用户执行这个命令。
/P [password] 为指定的用户指定密码。
/M [module] 列出调用指定的 DLL 模块的所有进程。
如果没有指定模块名,显示每个进程加载的所有模块。
/SVC 显示每个进程中的服务。
/V 指定要显示详述信息。
/FI filter 显示一系列符合筛选器指定的进程。
/FO format 指定输出格式,有效值: "TABLE"、"LIST"、"CSV"。
/NH 指定栏标头不应该在输出中显示。
只对 "TABLE" 和 "CSV" 格式有效。
1、 使用“Tasklist”命令查看本机进程
运行“命令提示符”程序,在提示符窗口中输入:“tasklist”命令,这样就显示本机的所有进程。本机的显示结果由五部分组成:图像名(进程名)、PID、会话名、会话#、内存使用。
2、 查看远程系统的进程
在命令提示符下输入:
“tasklist /s 218.22.123.26 /u jtdd /p 12345678”(不包括引号)
其中/s参数后的“218.22.123.26”指要查看的远程系统的IP地址;
/u后的“jtdd”指tasklist命令使用的用户帐号,它是远程系统上的一个合法帐号;
/p后的“12345678”指jtdd帐号的密码,。
这样,通过上面的命令,我们就可以查看到远程系统的进程了。
小提示:使用tasklist命令查看远程系统的进程时,需要远程机器的RPC 服务器的支持,否则,该命令就不能正常使用。
3、 查看系统进程提供的服务
tasklist命令不但可以查看系统进程,而且还可以查看每个进程提供的服务。
如查看本机的进程“SVCHOST.EXE”提供的服务,在命令提示符下输入:
“tasklist
/svc”命令即可,你会惊奇的发现,有四个“SVCHOST.EXE”进程,原来有二十几项服务使用这个进程,对于远程系统来说,查看系统服务也很简
单,使用” tasklist /s 218.22.123.26 /u jtdd /p 12345678
/svc”命令,就可以查看IP地址为“218.22.123.26”的远程系统进程所提供的服务。
4、 查看调用DLL模块文件的进程列表
例如,我们要查看本地系统中哪些进程调用了“shell32.dll” DLL模块文件。
在命令提示符下输入:
tasklist /m shell32.dll
这时系统将显示调用进程列表。
5、 使用筛选器查找指定的进程
在命令提示符下输入:
“TASKLIST /FI "USERNAME ne NT AUTHORITY\SYSTEM" /FI "STATUS eq running“
这样就列出了系统中正在运行的非“SYSTEM“状态的所有进程。
其中" /FI “为筛选器参数," ne “ 和" eq “为关系运算符”不相等“和”相等“。
[补充]
谈到“Tasklist”命令,我们就不得不提它得孪生兄弟" taskkill "命令,顾名思义,它是用来杀死进程的。
如要杀死本机的 " notepad.exe "进程。
首先,使用Tasklist查找它的PID,系统显示本机" notepad.exe "进程的PID值为" 1132 ",然后运行" taskkill /pid 1132 "即可,或则运行" taskkill /IM notepad.exe "也可;
其中" /pid "参数后面跟要终止进程的PID值," /IM “参数后面为进程的图像名。
查找java进程就是 tasklist /fi "imagename eq java.exe"
很奇怪这里的的进程是imagename.
用tasklist /?可以查看帮助。