我正在研究一个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