我正在研究一個bash腳本,該腳本在Web服務器關閉以重新啓動/重新啓動之前對我們的Java應用程序Web服務器執行操作。作爲其中的一部分,我需要找出提供給JVM的最大堆分配(Xmx選項)是多少。此選項的此值會有所不同,具體取決於部署Web應用程序的硬件。我在尋找的東西,我可以在腳本中使用填充一個變量,如:從命令行獲取運行JVM的最大堆大小:否JDK工具
XMX_JVM_VALUE=$(command[s] here)
我就會以這個值來確定是否存在在我們的記錄分區有足夠的空間來創建一個堆轉儲那裏。該值將通過收集:
LOG_DISK_SPACE=$(df -P /var/log | awk 'NR==2{print $4}')
兩個限制我的是,我不能使用JDK的工具,因爲在服務器上只有JRE,我僅限於系統附帶普通的Linux命令(事像grep
,ps
,awk
等)。
最糟糕的情況是解析出'/ proc/yourpid/cmdline' –
我一直在尋找類似於此的東西。問題在於處理附加到Xmx選項('Xmx2048m','Xmx4g'等等)的潛在前綴,並將結果轉換爲一個以直接字節表示該值的數字。 – Andrew