快速打印JSTACK和JSTAT

在工作中,有时候JBoss服务器当机,需要使用命令行去获取JSTACK和JSTAT日志以便分析原因。但获取上述日志需要先查询进程号,在生产上因为时间问题,基本上不被允许。

因此写了一个批处理命令来完成这个动作。

限制:

只能有一个java.exe进程在运行

必须将java_home\bin目录添加到path环境变量

@echo off&setlocal enabledelayedexpansion
REM ======================
set /a cnt=10
REM ======================

set /a j=0,k=16*1024*1024,p=0
set dt=%date:~,4%%date:~5,2%%date:~8,2%%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%
for /f "skip=1 tokens=1-2 delims= " %%a in ('wmic process where "name='java.exe'" get WorkingSetSize^,Handle') do (
 if %%b LSS !k! (
   REM echo "%%b less than %k%"
 ) else (
   set /a p=%%a
   set /a j=j+1
 )
)
if %p% EQU 0 (
 echo Cannot find Java Process memory use greater than 16M.
) else if NOT %j% EQU 1 (
 echo Find too more Java Process, cannot determine which one.
) else (
 echo Saving JBoss thread status to c:...
 jstack -l %p% > "C:\JSTACK_%dt%.log"
 echo Saving JBoss memory status to c:...
 jstat -gc -t %p% 2000 %cnt% > "C:\JSTAT_%dt%.log"
)
echo Finished!
pause
时间: 2024-10-04 03:50:16

快速打印JSTACK和JSTAT的相关文章

iOS调试技巧之打印输出 -----A: (NSString *)description B:自定义LOG C:使用第三方插件快速打印

A:重写- (NSString *)description函数 如果有一个Product 产品对象  Product.h中 1 #import <Foundation/Foundation.h> 2 3 typedef enum : NSUInteger { 4 RED = 1, 5 GREEN, 6 } ProductColor; 7 8 @interface Product : NSObject 9 10 @property (nonatomic, assign) ProductColor

Excel快速打印底端标题,教你一招,肯定行!

pdf技巧之家 2018-11-10 11:06:00今天跟大家分享一个关于Excel如何快速打印底端标题的技巧,需要的赶紧学起来! 方法步骤: 首先我们在工作表中输入底部要显示的标题文字,然后使用截图工具把这部分文字截图保存为图片,接下来将工作表中的底端标题文字清除掉. 点击工具栏[页面布局]--[打印标题]--[页面设置].单击[顶端标题行],然后编辑右侧的折叠按钮,单击第一行的行号,这样就轻松选中了第一行作为顶端标题行. 点击[页眉/页脚]--[自定义页脚],打开[页脚]对话框,单击[中]

为Excel电子表格添加快速打印功能按钮的方法

对于需要频繁切换打印机来完成打印工作的人来说,切换打印机的重复操作非常繁琐且没有效率.其实微软早就为大家准备了各种解决重复劳动的各种工具,比如“快速访问工具栏”和“宏”.下面笔者就跟大家来讲讲如何利用这两个工具来为Excel电子表格添加快速打印的功能按钮,只要轻轻点击一下这个按钮,内容就会发送至指定的打印机进行打印,而不用管当前默认的打印机是哪一台. 一.添加“快速打印”功能按钮 首先打开Excel电子表格,点开窗口左上角下拉箭头的“自定义快速访问工具栏”,然后选择相应的功能即可.比如我们选择“

java虚拟机内存监控工具jps,jinfo,Jstack,jstat,jmap,jhat使用

基于Sun HotSpot JVM 这里将介绍几款sun hotspot jvm 自带的监控工具: 请确保java_home/bin配置到path环境变量下,因为这些工具都在jdk的bin目录下 jps(JVM Process Status Tool):JVM机进程状况工具 用来查看基于HotSpot JVM里面所有进程的具体状态, 包括进程ID,进程启动的路径等等.与unix上的ps类似,用来显示本地有权限的java进程,可以查看本地运行着几个java程序,并显示他们的进程号.使用jps时,不

JVM性能调优监控工具jps、jstack、jstat、jmap、jinfo使用详解

是什么 jps 查看所有的jvm进程,包括进程ID,进程启动的路径等等. 我自己也用PS,即:ps -ef | grep java jstack 观察jvm中当前所有线程的运行情况和线程当前状态. 系统崩溃了?如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题. 系统hung住了?jstack工具还可以附属到正在运行的java程序中,看到当时运行的jav

FastReport快速打印(.net)

我第一次使用FastReport插件做的功能是打印一个十分复杂的excel表格,有几百个字段都需要绑定数据,至少需要4个数据源,而且用到横向.竖向合并单元格. 我不是直接连接数据库,而是使用RegisterData的方式自己注册DataSet对象,所有的表Table都是代码生成,填充到DataSet中,然后注册到控件中. 最开始尝试使用这个插件做一个简单的功能使用的就是下面的例子,不过花了一整天,还请假了4个人都没有搞出来,晚上拿着别人的模板直接修改,然后测试,就通过了. 之前测试,一直都提示未

Eclipse用法和技巧二十:一个快速打印技巧

调试的时候经常用到打印语句,当需要添加的说明字符串和需要打印的数值混淆到一起的时候,需要先写字符串如,"the string here is",接着再输入变量的值.这样一来一去还是比较麻烦的.下面介绍一种方法,可以大大的提高效率.        步骤一:假定需要打印temp的值,先输入完整的打印字符串: 步骤二:选中temp,按住神键Ctrl+1: 步骤三:选择提示选项,在删除双引号即大功告成.在需要打印的变量混淆在提示字符串中,这个方法能大大加快输入速度. 上一篇文章,Eclipse

vim 脚本之快速打印log

" zsl_log.vim" Version: 1.0 if exists("g:zsl_loaded_log") || &cp || v:version < 700  finishendiflet g:zsl_loaded_log = 1 "基础函数function AddLog()  let zslinde = max([indent(line(".")), indent(line(".")+1)]

java自带工具-jps、jinfo、jstack、jstat、jmap

掌握java自带的这些监控工具,有助与我们很好的分析问题和jvm性能调优秀.收集了些网上整理很好的文章. Java监控工具.调优.调试辅助函数 Java自带的GUI性能监控工具Jconsole以及JisualVM简介 JDK自带监控工具