Java的jstat命令输出GC信息时携带时间信息(Windows系统中)

news2024/11/13 15:04:25

之前写了一篇在Linux系统中携带时间的文章:Java的jstat命令输出GC信息时携带时间信息(Linux系统中)
但是很多时候,我们都是在Windows系统中开发,可能有些人没有Linux环境,所以这篇文章就讲一下在Windows系统中jstat命令怎么在输出GC信息的时候携带时间信息。

  1. 使用git bash
    Windows系统是跑不了Linux中的脚本,但是git bash里面是可以执行一部分Linux脚本的。所以可以借助git bash来跑Linux中的脚本。
    jstat -gc 25392 1000 999999 | while read -r line; do timestamp=$(date +"%H:%M:%S"); echo "$timestamp $line"; echo "$timestamp $line" >> one.log; done
    
    更多具体用法可以参考Java的jstat命令输出GC信息时携带时间信息(Linux系统中)这篇文章
    在这里插入图片描述
    在这里插入图片描述
    注意事项
    git bash中,nohup&也是可以用的,并且也是后台运行的意思。但是,他的后台运行只是说你在这个git bash窗口中后台运行,只要你不关闭这个窗口,就会在后台运行,你可以在窗口中输入其他命令执行。如果你关闭这个窗口,就会提示你,还有在运行的会话,是否要全部关闭。如果点击OK,git bash直接退出了,jstat也就关闭了。
    在这里插入图片描述
  2. 使用编程语言调用cmd
    可以借助编程语言,调用cmd来执行语句,然后把输出的结果处理一下,给他加上日期时间等
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.time.LocalDateTime;
    
    public class JStatGcMonitor {
    
        public static void main(String[] args) {
            // 监控的进程ID
            final String pid = "25392";
            // 输出间隔时间,单位毫秒
            final int interval = 1000;
            // 构造命令 如果想一直跑,就可以不加 + " " + 2 次数限制
            final String command = "jstat -gc " + pid + " " + interval + " " + 2;
            System.out.println("执行:" + command);
            try {
                // 执行命令
                Process process = Runtime.getRuntime().exec(command);
                // 获取命令的输出流
                BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
                // 读取并打印输出
                String line;
                while ((line = reader.readLine()) != null) {
                    // 获取当前的日期时间,如果只需要时间部分的可以使用LocalTime
                    LocalDateTime now = LocalDateTime.now();
                    // 这里直接输出,如果需要特定的日期时间格式,可以自己格式化一下
                    System.out.println(now + " | " + line);
                }
                reader.close();
                // 等待子进程结束
                int exitCode = process.waitFor();
                System.out.println("cmd脚本执行完毕,退出" + exitCode);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    
    在这里插入图片描述
  3. 使用Windows PowerShell处理
    • 只输出在控制台
      jstat -gc 25580 1000  9999 | foreach{(Get-Date -Format "yyyy-MM-dd HH:mm:ss   ") + $_}
      
      foreachForEach-Object的别名,%也是,所以这三个用哪一个都行。(Get-Date -Format "yyyy-MM-dd HH:mm:ss ")意思是获取当前时间,并格式化,$_是拿到管道符之前的那个命令的输出,在这里把当前时间和输出加起来,就到达了我们需要的效果。
      在这里插入图片描述
    • 输出在控制台的同时保存在文件中
      jstat -gc 25580 1000  9999 | foreach{(Get-Date -Format "yyyy-MM-dd HH:mm:ss   ") + $_} | tee-object one.log
      
      tee-object命令可以将管道符之前输出的内容保存到文件中,并且输出在控制台中,这里面one.log会保存在当前所在的路径。可以使用绝对路径。
      在这里插入图片描述
      在这里插入图片描述
    • 只保存在文件中,控制台不输出
      jstat -gc 25580 1000  9999 | foreach{(Get-Date -Format "yyyy-MM-dd HH:mm:ss   ") + $_} | Out-File two.log
      
      Out-File把前一个输出保存到指定的文件,也可以使用绝对路径
      在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1974401.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[论文精读]Multi-View Multi-Graph Embedding for Brain Network Clustering Analysis

论文原文:3504035.3504050 (acm.org) 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 省流版 1.1. 心得…

63 epoll服务器 (ET模式)

基于LT模式修改,并加入前面的应用层计算器,实现稍完整的服务器功能 1.修改tcp_socket.hpp,新增非阻塞读和非阻塞写接口 2.对于accept返回的new_sock加上EPOLLET这样的选项 注意:此代码暂时未考虑listen_sock ET的情况&#xff0c…

力扣高频SQL 50题(基础版)第三十九题

文章目录 力扣高频SQL 50题(基础版)第三十九题1327.列出指定时间段内所有的下单产品题目说明实现过程准备数据实现方式结果截图 力扣高频SQL 50题(基础版)第三十九题 1327.列出指定时间段内所有的下单产品 题目说明 表: Produc…

SQLite库笔记:API函数编程

本文主要介绍SQLite库的一些核心API函数,和实现数据库增删查改功能的C语言示例程序代码。 目录 1. API函数原型 1.1 sqlite3_open 1.2 sqlite3_close 1.3 sqlite3_free 1.4 sqlite3_errmsg 1.5 sqlite3_exec 1.6 sqlite3_get_table 1.7 sqlite3_free_table…

springboot废物回收管理商城-计算机毕业设计源码18221

基于Spring boot的废物回收管理商城 摘要 本研究基于Spring Boot框架设计并开发了一款废物回收管理商城系统,旨在有效整合废物回收资源,提高废物回收的效率和便捷性。通过对废物回收市场的调研与分析,结合现代互联网技术和物联网技术&#…

Docker Buildx 简介与安装指南

目录 1.Docker Buildx 简介 1. 引言 2. Docker Buildx 的背景和意义 3. Docker Buildx 的主要特性 4. 为什么选择 Docker Buildx 2.激活 Docker 实验性特性:一步设置 3.比如ARM架构下的Docker Buildx未自带 4.重启docker 🌐 无论你是初学者还是经…

非递归的归并排序

我们之前讲的快速排序有非递归的写法,那么归并排序也有非递归写法,我们一起来研究一下吧。 快速排序的非递归算法是使用的手动搭栈的方法,将区间存入栈里面,然后再排序,但是这次的归并排序可以吗?大家都知…

WebLogic 8.x中间件监控指标解读

监控易是一款功能强大的IT监控系统,能够全面监控各类IT设施的运行状态,及时发现并解决潜在问题。针对WebLogic 8.x中间件的监控,监控易提供了一系列详尽的指标,确保WebLogic集群和应用的稳定运行。 在WebLogic集群监控方面&#x…

OSPF路由协议----开放式最短路径优先

一、为什么需要OSPF? 1、RIP以跳数评估的路由并非最优路径 传输时间T=2Mps/64Kbps=32s 如果选择S0/0传输,传输时间T=2Mps/2Mps+2Mps/2Mps+2Mps/2Mps=3s 时长大大缩短。 2、RIP的最大跳数为16,网络尺度小 RIP协议限制网络直径不能朝超过16跳,只适用于小型网。 3、RIP收…

登录谷歌账号时无法登录,提示“您正常是在一部Google无法识别的设备上登录”,原因和如何解决?

这段时间,有几个朋友联系GG账号服务,说她们在登录谷歌账号的时候,提示Google账号无法登录,提示:您正尝试在一部Google无法识别的设备上登录,我们没有足够的信息来验证您的身份。为了安全起见,您…

浦语提示词工程实践

第一次 -失败 修改后:

中缀与前缀表达式之间的转换

文章目录 中缀表达式转前缀表达式总结参考链接 中缀表达式转前缀表达式 前缀表达式,又称波兰表达式,是一种编写算术表达式的方法,其中运算符位于操作数之前。 下面给出一种中缀表达式转前缀表达式的方法,利用辅助栈。 其规责如下…

朱锐 | 生命图像中的时间和意识

本文载于《科学・经济・社会》2023 年第 41 卷第 2 期第 37~61 页 作者简介: 朱锐(1968年10月—2024年8月1日),中国人民大学哲学院杰出学者、特聘教授,美国德州州立大学客座教授,主要从事神经哲学、心灵哲…

大学生编程入门指南:如何从零开始?

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 编程语言选择 📚 1. Python 2. JavaScript 3. Java 4. C/C 如何选择适合自己的编程语言&a…

人工智能深度学习系列—探索余弦相似度损失:深度学习中的相似性度量神器

文章目录 1. 背景介绍2. Loss计算公式3. 使用场景4. 代码样例5. 总结 1. 背景介绍 在机器学习和模式识别领域,评估样本间的相似性是一项基本而关键的任务。余弦相似度损失(Cosine Similarity Loss)作为一种衡量向量间相似度的损失函数&#…

TPAMI 2024 | 全新框架!深度学习可解释度量学习!

TPAMI 2024 | 全新框架!深度学习可解释度量学习! DIML: Deep Interpretable Metric Learning via Structural Matching 题目:DIML: 通过结构匹配的深度可解释度量学习 作者:Wenliang Zhao, Yongming Rao, Jie Zhou , and Jiwen…

DedeCMS-V5.7.82-UTF8织梦管理系统漏洞

将靶场环境放到www目录下——访问/dedecms/uploads 安装程序 - 织梦内容管理系统 V5.7 UTF8SP2 同意协议——继续 继续 配置后——点击继续 进入后台 登录后台——填写用户名密码。 方法一:上传shell文件 后台——核心——附件管理——上传新文件。 访问/dedecms…

用车申请轻松搞定,智慧校园行政办公一站解决

智慧校园行政办公中的用车申请功能是为了解决校园内教师及工作人员出行需求而设计的一套数字化管理系统。作为智慧校园行政办公的一个重要模块,该功能旨在提高校园用车效率,简化申请流程,确保资源合理分配。 在用户提交在线用车申请之前&…

Win7虚拟机分享(已安装VMware Tools)

前言 之前写过VMware安装Win7并安装VMware tools的博客,但操作仍显繁琐。后来发现可以直接分享已经配置好的虚拟机,所有软件都是安装好的,解压即用。 一. VMware Win7虚拟机配置 已完成的配置和安装的软件 专业版Win7系统(已永久激活)VMware…

个人航班追踪和查看软件Jetlog

什么是 Jetlog ? Jetlog 是一个自托管航班跟踪器和查看器,允许用户添加、跟踪和分析自己的航班,提供个性化和用户友好的方式来探索航班数据。 软件特点: 🌍 所有访问过的机场和航班轨迹的世界地图视图📊 所…