Java執行jar總結


1.命令集

1)nohup

用途:不掛斷地運行命令。

語法:nohup Command [ Arg … ] [ & ]

  無論是否將 nohup 命令的輸出重定向到終端,輸出都將附加到當前目錄的 nohup.out 文件中。

  如果當前目錄的 nohup.out 文件不可寫,輸出重定向到 $HOME/nohup.out 文件中。

  如果沒有文件能創建或打開以用於追加,那么 Command 參數指定的命令不可調用。

退出狀態:該命令返回下列出口值:   
  126 可以查找但不能調用 Command 參數指定的命令。   
  127 nohup 命令發生錯誤或不能查找由 Command 參數指定的命令。   
  否則,nohup 命令的退出狀態是 Command 參數指定命令的退出狀態。

2)&

用途:在后台運行

一般兩個一起用

nohup command &

3)java

java命令的模版:java [-options] -jar jarfile [args...]

啟動命令示例:

java -Xms128m -Xmx256m -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8081,suspend=n -jar /data/app/test.jar --spring.profiles.active=dev &

其中:

-Xms128m 設置的是JVM堆最小內存為128m

-Xmx256m 設置的是JVM堆最大內存為256m

這里有個問題是-Xmx指定的內存不包括jvm運行中使用的本地內存,所以如果有NIO等涉及到本地內存的情況時,該java進程占用的總內存會超過-Xmx設定的數值

-Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8081,suspend=n

設置debug模式,允許tomcat遠程連接服務器調試,調試端口可指定,此處為8081

/data/app/test.jar 指定需要執行的jar包的路徑

--spring.profiles.active=dev 設定SpringBoot運行環境為dev環境

& 后台模式執行

2.執行

nohup java -XX:MaxMetaspaceSize=1024m -XX:InitialBootClassLoaderMetaspaceSize=256m -Xms2g -Xmx4g -jar video-retrieval-0.0.1-SNAPSHOT.jar > start.log 2>&1 &

  2>&1 : 把標准出錯流重定向到標准輸出流 (此處:將正常日志 / 錯誤日志 統一保存到 start.log )

3.maven打包指定版本

<build>
    <!-- 產生的構件的文件名,默認值是${artifactId}-${version}。 -->
    <finalName>video-retrieval-1.1</finalName>
</build>

4.記錄Java進程系統資源占用情況

獲取 jar 執行進程,獲取執行過程中內存損耗情況:

pidstat -r -p 12229 2 > memory.log &

運行結果:

pidstat - 進程實時監控命令。

  主要用於監控全部或指定進程占用系統資源的情況,如CPU,內存、設備IO、任務切換、線程等。pidstat首次運行時顯示自系統啟動開始的各項統計信息,之后運行pidstat將顯示自上次運行該命令以后的統計信息。用戶可以通過指定統計的次數和時間來獲得所需的統計信息。

用法:

pidstat [ 選項 ] [ <時間間隔> ] [ <次數> ]

常用參數:

  • -u:默認的參數,顯示各個進程的cpu使用統計
  • -r:顯示各個進程的內存使用統計
  • -d:顯示各個進程的IO使用情況
  • -p:指定進程號
  • -w:顯示每個進程的上下文切換情況
  • -t:顯示選擇任務的線程的統計信息外的額外信息
  • -T { TASK | CHILD | ALL }
    這個選項指定了pidstat監控的。TASK表示報告獨立的task,CHILD關鍵字表示報告進程下所有線程統計信息。ALL表示報告獨立的task和task下面的所有線程。
    注意:task和子線程的全局的統計信息和pidstat選項無關。這些統計信息不會對應到當前的統計間隔,這些統計信息只有在子線程kill或者完成的時候才會被收集。
  • -V:版本號
  • -h:在一行上顯示了所有活動,這樣其他程序可以容易解析。
  • -I:在SMP環境,表示任務的CPU使用率/內核數量
  • -l:顯示命令名和所有參數

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM