用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 /?可以查看幫助。
轉載:https://blog.csdn.net/jamex/article/details/81079587