大家好!我是老碼農,一個喜歡技術、愛分享的同學,從今天開始和大家持續分享JVM調優方面的經驗。
JVM調優是個大話題,涉及的知識點很龐大
- JAVA內存模型
- 垃圾回收機制
- 各種工具使用
- 參數配置
- 調優指標設置
- ...
所以這會是個持續分享的活,急不得。感興趣的同學,我們一起學習,攻下JVM調優這座山頭。
今日分享主題
JDK的bin目錄下提供了很多和Java相關的小工具,后面會陸續分享提供的這些工具。
例如:
- 服務器上跑著那些Java的服務呢?如何查找Java服務進程呢?
剛才說的這個話題,其實就是查找服務器上啟動著哪些Java進程,jps命令就該出場了
jps
- JVM Process Status Tool的簡寫,虛擬機狀態查詢工具
- JDK1.5提供查看當前系統Java進程的命令
- 位置:Java安裝目錄:bin下面
官方文檔
- Java 8
https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jps.html - Java 14
https://docs.oracle.com/en/java/javase/14/docs/specs/man/jps.html
功能
- 列出正在執行的JVM進程PID及進程啟動的參數信息
語法
usage: jps [-help]
jps [-q] [-mlvV] [<hostid>]
Definitions:
<hostid>: <hostname>[:<port>]
參數列表
|
參數 |
說明 |
|
-q |
只是顯示進程pid |
|
-m |
顯示主函數 |
|
-l |
顯示完整的package路徑及jar文件 |
|
-v |
顯示JVM啟動時的JVM參數 |
使用范例
- 查看幫助
C:UsersAdministrator>jps -help
usage: jps [-help]
jps [-q] [-mlvV] [<hostid>]
Definitions:
<hostid>: <hostname>[:<port>]
- 顯示進程
C:UsersAdministrator>jps
21136 RemoteMavenServer36
8160 Launcher
25492 Jps
27704 RemoteMavenServer36
27784 RemoteMavenServer36
- 只顯示進程PID:-q
C:UsersAdministrator>jps -q
21136
8160
27704
27784
18284
26668
27708
- 顯示JVM啟動參數:-v
C:UsersAdministrator>jps -v
21136 RemoteMavenServer36 -Djava.awt.headless=true -Dmaven.defaultProjectBuilder.disableGlobalModelCache=true -
Didea.version=2021.2.3 -Didea.maven.embedder.version=3.6.3 -Xmx768m -Dmaven.ext.class.path=C:Program
FilesJetBrainsIntelliJ IDEA Community Edition 2021.2.3pluginsmavenlibmaven-event-listener.jar -Dfile.encoding=GBK
- 組合使用:-mlv
C:UsersAdministrator>jps -mlv
21136 org.jetbrains.idea.maven.server.RemoteMavenServer36 -Djava.awt.headless=true -
Dmaven.defaultProjectBuilder.disableGlobalModelCache=true -Didea.version=2021.2.3 -Didea.maven.embedder.version=3.6.3 -
Xmx768m -Dmaven.ext.class.path=C:Program FilesJetBrainsIntelliJ IDEA Community Edition 2021.2.3pluginsmavenlibmaven-
event-listener.jar -Dfile.encoding=GBK






