精华内容
下载资源
问答
  • Java GC日志查看

    万次阅读 2016-12-20 15:46:01
    Java GC类型 Java中的GC有哪几种类型?   参数 描述 UseSerialGC 虚拟机运行在Client模式的默认值,打开此开关参数后, 使用Serial+Serial Old收集器组合进行垃圾收集。 ...

    Java GC类型

    Java中的GC有哪几种类型?

     

    参数

    描述

    UseSerialGC

    虚拟机运行在Client模式的默认值,打开此开关参数后,

    使用Serial+Serial Old收集器组合进行垃圾收集。

    UseParNewGC

    打开此开关参数后,使用ParNew+Serial Old收集器组合进行垃圾收集。

    UseConcMarkSweepGC

    打开此开关参数后,使用ParNew+CMS+Serial Old收集器组合进行垃圾收集。Serial Old作为CMS收集器出现Concurrent Mode Failure的备用垃圾收集器。

    UseParallelGC

    虚拟机运行在Server模式的默认值,打开此开关参数后,使用Parallel Scavenge+Serial Old收集器组合进行垃圾收集。

    UseParallelOldGC

    打开此开关参数后,使用Parallel Scavenge+Parallel Old收集器组合进行垃圾收集。

     

    在Java程序启动完成后,通过jps观察进程来查询到当前运行的java进程,使用

    Java代码   收藏代码
    1. jinfo –flag UseSerialGC 进程  

     

    的方式可以定位其使用的gc策略,因为这些参数都是boolean型的常量,如果使用该种gc策略会出现+号,否则-号。

     

    使用-XX:+上述GC策略可以开启对应的GC策略。

     

     

    GC日志查看

    可以通过在java命令种加入参数来指定对应的gc类型,打印gc日志信息并输出至文件等策略。

     

    GC的日志是以替换的方式(>)写入的,而不是追加(>>),如果下次写入到同一个文件中的话,以前的GC内容会被清空。

     

    对应的参数列表

    Java代码   收藏代码
    1. -XX:+PrintGC 输出GC日志  
    2. -XX:+PrintGCDetails 输出GC的详细日志  
    3. -XX:+PrintGCTimeStamps 输出GC的时间戳(以基准时间的形式)  
    4. -XX:+PrintGCDateStamps 输出GC的时间戳(以日期的形式,如 2013-05-04T21:53:59.234+0800)  
    5. -XX:+PrintHeapAtGC 在进行GC的前后打印出堆的信息  
    6. -Xloggc:../logs/gc.log 日志文件的输出路径  

     

     

    这里使用如下的参数来进行日志的打印:

    Java代码   收藏代码
    1. -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:./gclogs  

      

    对于新生代回收的一行日志,其基本内容如下:

    Java代码   收藏代码
    1. 2014-07-18T16:02:17.606+0800611.633: [GC 611.633: [DefNew: 843458K->2K(948864K), 0.0059180 secs] 2186589K->1343132K(3057292K), 0.0059490 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]  

     

     

    其含义大概如下:

    Java代码   收藏代码
    1. 2014-07-18T16:02:17.606+0800(当前时间戳): 611.633(时间戳): [GC(表示Young GC) 611.633: [DefNew(单线程Serial年轻代GC): 843458K(年轻代垃圾回收前的大小)->2K(年轻代回收后的大小)(948864K(年轻代总大小)), 0.0059180 secs(本次回收的时间)] 2186589K(整个堆回收前的大小)->1343132K(整个堆回收后的大小)(3057292K(堆总大小)), 0.0059490 secs(回收时间)] [Times: user=0.00(用户耗时) sys=0.00(系统耗时), real=0.00 secs(实际耗时)]  

     

     

    老年代回收的日志如下:

    Java代码   收藏代码
    1. 2014-07-18T16:19:16.794+08001630.821: [GC 1630.821: [DefNew: 1005567K->111679K(1005568K), 0.9152360 secs]1631.736: [Tenured:  
    2. 2573912K->1340650K(2574068K), 1.8511050 secs] 3122548K->1340650K(3579636K), [Perm : 17882K->17882K(21248K)], 2.7854350 secs] [Times: user=2.57 sys=0.22, real=2.79 secs]  

     

     

    gc日志中的最后貌似是系统运行完成前的快照:

    Java代码   收藏代码
    1. Heap  
    2.  def new generation   total 1005568K, used 111158K [0x00000006fae000000x000000073f1100000x0000000750350000)  
    3.   eden space 893888K,  12% used [0x00000006fae000000x0000000701710e900x00000007316f0000)  
    4.   from space 111680K,   3% used [0x00000007384000000x000000073877c9b00x000000073f110000)  
    5.   to   space 111680K,   0% used [0x00000007316f00000x00000007316f00000x0000000738400000)  
    6.  tenured generation   total 2234420K, used 1347671K [0x00000007503500000x00000007d895d0000x00000007fae00000)  
    7.    the space 2234420K,  60% used [0x00000007503500000x00000007a2765cb80x00000007a2765e000x00000007d895d000)  
    8.  compacting perm gen  total 21248K, used 17994K [0x00000007fae000000x00000007fc2c00000x0000000800000000)  
    9.    the space 21248K,  84% used [0x00000007fae000000x00000007fbf92a500x00000007fbf92c000x00000007fc2c0000)  
    10. No shared spaces configured.  

     

     

    GC日志的离线分析

    可以使用一些离线的工具来对GC日志进行分析,比如sun的gchisto(https://java.net/projects/gchisto),gcviewer(https://github.com/chewiebug/GCViewer ),这些都是开源的工具,用户可以直接通过版本控制工具下载其源码,进行离线分析。


    展开全文
  • Java Log Viewer日志查看

    万次阅读 2014-08-15 17:50:29
    工欲善其事必先利其器在投奔怒海——一个Domino老程序员眼里的Java开发我提到目前所做的Java开发中遇到的大量日志之问题。服务器控制台刷屏似地滚动,日志文件飞快地增长,debug的时候相关信息常常被例常日志淹没,...

    工欲善其事必先利其器

    投奔怒海——一个Domino老程序员眼里的Java开发我提到目前所做的Java开发中遇到的大量日志之问题。服务器控制台刷屏似地滚动,日志文件飞快地增长,debug的时候相关信息常常被例常日志淹没,在众多Logger滔滔不绝的输出下,要找出错误所在有时都挺费眼。日志的作用无可置疑,大型项目中日志海量产生也不少见。在以前的Domino开发中,Domino服务器在产生日志方面相当节制,程序员对日志的依赖程度也不高。转换到Java开发,我用一直最喜爱的文本编辑器EditPlus肉搏了一段时间(如果用Windows自带的记事本,打开动辄十几甚至几十兆的日志都有些困难),越来越迫切感觉到需要更专业的武器。Java Log Viewer(日志查看器)是我想像中的这款工具的名称,具备的功能包括:

    1.       可以手动重载日志。这样既可以防止自动跟踪日志影响当前关注的内容,又可以在需要时方便地载入最新的日志。

    2.       对不同级别的日志项着色标注。

    3.       可依据级别过滤日志。

    4.       方便搜索。

    上网一搜索便发现这是很多人想要的,并且与很多工具一样,问题已经不是缺乏,而是在众多候选者里选择。

    OtrosLogViewer

    根据Java Log Viewer这三个关键词的搜索结果和StackOverflow上的对应问题讨论,经过一番试用和比较【注1】,我确定OtrosLogViewer(http://code.google.com/p/otroslogviewer/)就是我所要的。

    除了我原先设想的功能,OtrosLogViewer还提供了以下便利:

    5.       以列表的形式分栏显示日志项,底部显示当前选中行的详细内容,并且表格的列可裁剪。

    6.       可以依据时间、级别、Logger名称、线程等条件过滤日志。

    7.       可迅速定位到上一条或下一条某个级别的日志。

    8.       可标记日志,还能根据许多实用的条件自动标记。

    9.       预设对多种格式日志的支持,并且有一个编辑器方便自定义需解析的Log4j日志模式(pattern)。

    不仅如此,软件的界面美观,操作友好。

    演示

    下面就以我所打交道的JBoss AS 7.1产生的日志来例示OtrosLogViewer的用法。


    启动后界面

    除了菜单栏的基本命令,OtrosLogViewer的功能都由按钮或快捷菜单提供,操作上符合直觉,用户需要的功能都以便捷的方式出现在合适的地方。它没有一般软件的设置界面,各种设置都结合在操作的视图里。

    OtrosLogViewer有两组基本功能,Open XXX Log和Tail XXX Log,前者是用于打开一个静止的日志文件,后者则可自动刷新(即tail跟踪的含义)一个live的日志文件。软件支持包括Log4j普通文本和XML等多种格式的解析,并且有相应的菜单命令。如果不确定日志采用的格式,OtrosLogViewer也能在打开日志时自动检测。预设的Log4j日志模式为

    %d{yyyy-MM-ddHH:mm:ss,SSS} %-5p [%t] %m%n

    我所用的JBoss AS 7.1(从JBoss配置文件standalone.xml或者Web管理界面均可看到默认的日志处理器的模式为

    %d{HH:mm:ss,SSS}%-5p [%c] (%t) %s%E%n

    为了解析这样的日志,可以调用菜单里的Tools -> Show Log4j pattern parser editor。


    将其中的相关初始配置改为

    pattern=TIMESTAMP LEVEL [CLASS] (THREAD)  MESSAGE

    dateFormat=HH:mm:ss,SSS

    在同一个界面里可以看到载入的日志文件,修改模式后可以随时测试解析结果。成功后将模式保存为新的pattern文件。软件的两组Open和Tail菜单里都会自动添加采用这个新模式的命令。

    打开一个日志文件,所有的日志条目已经列表显示,时间列自动只显示日期的时间部分。不同级别的日志很醒目地用不同颜色的图标区分。选中行日志的详细信息在下面的视图显示,包括错误堆栈和SOAP Message都有格式化和着色显示。用上十分钟,你就会发现仅仅这些阅读日志的效率大大提高。工具栏左边有搜索框,右边有按钮可以定位到上一条或下一条各种级别的日志。每一条日志都可以做标记(Mark)或者加注释(Note),主视图左边的工具视图可以设置和显示过滤和常用的自动标记功能。特别要说明的是列表视图上方的两个图标,第一个可切换是否自动读取新日志,第二个图标则控制在自动刷新的状态下列表中的当前行是否跟随读取的最新行。这两项功能结合起来,在读取live日志时十分方便。


    最后再展示一下选中日志后快捷菜单里的丰富选项,过滤和删除都很实用,能够快速排除无关的日志。

     

    注1:Apache的Chainsaw已经多年未更新,bug不少,性能不佳。

    一个直接以Java Log Viewer命名的项目过于简单,且只适用于java.util.logging生成的日志。

    StackOverflow一个被人推荐的LogExpert在目前的1.5版本上有一个明显且重大的bug,无论是否设置跟踪,软件都会自动跳到最新的日志行。

    展开全文
  • java GC 日志查看 gcviewer

    万次阅读 2016-08-04 22:48:15
    查看GC日志首先要知道GC的log放在哪里,使用jps命令查看当前有哪些java进程在运行,找到我们要查看java程序的进程pid 使用命令jinfo pid 来查看这个进程对应的java 信息,可以看到大概在最下面的地方有个参数-...

    要查看GC日志首先要知道GC的log放在哪里,使用jps命令查看当前有哪些java进程在运行,找到我们要查看的java程序的进程pid

    使用命令jinfo pid 来查看这个进程对应的java 信息,可以看到大概在最下面的地方有个参数-Xloggc:,他对应的就是gc log的位置。

    用gcviewer 打开gc log可以很直观的查看gc log:

    第一个标签页就是Chart,这也是最可以直观看出有没有问题的地方,如上图所示,这个日志反应了gc一直在不停的做新生带的回收,并且老年代的使用率一直在增加。图中整个高度为JVM总的内存大小,也就是989.9M,从右侧的Summary也可以看出。其中的紫色部分为老年代的大小,黄色部分是新生带的大小。不同颜色的线和图块的含义可以从菜单看出,如下图:


    第二个tab是Event Dtails,可以看出各种GC的次数和时间间隔,以及效果:


    展开全文
  • 查看日志的方式有很多,这里记录几个常用的tail和less命令。 一、首先进入测试服务器。 打开终端。 ssh root@xxxxxxxxx 运行上一步之后输入密码,我们可以通过 ssh-copy-id root@xxxx命令来记住密码,以后登录就不...

    查看日志的方式有很多,这里记录几个常用的tail和less命令。

    一、首先进入测试服务器。

    打开终端。

    ssh root@xxxxxxxxx
    

    运行上一步之后输入密码,我们可以通过
    ssh-copy-id root@xxxx命令来记住密码,以后登录就不需要在输入密码了。

    二、 常用tail命令

    使用tail(尾巴)命令是查看文件的最后几行,也是我们最常用的,一般就是查看最新的日志文件。

     1、监控文件尾部内容,会不断刷新,默认是十行,可添加参数
    tail -f filename   //显示文件尾部十行日志,不断刷新。
    tail -100f filename //显示文件尾部100行日志,不断刷新
    
    2、显示文件最后n行
    tail -n 100 filename   //显示日志最后100行
    
    3、我们还可以结合grep管道,来对关键词做筛选
    tail -100f filename | grep "关键词" //查询最后一百行 含有“关键词” 的日志
    

    三、常用less命令

    使用less命令我们可以对文件进行前后翻页,更加利于我们查看,
    语法:
    less [参数] 文件
    参数:
    -b <缓冲区大小> 设置缓冲区的大小
    -e 当文件显示结束后,自动离开
    -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
    -g 只标志最后搜索的关键词
    -i 忽略搜索时的大小写
    -m 显示类似more命令的百分比
    -N 显示每行的行号
    -o <文件名> 将less 输出的内容在指定文件中保存起来

    • 常用操作
    less -p 关键词 //搜索关键词
    和tail连用
    tail -f filename | less -N
    

    三、查看本机IP

    命令 ifconfig
    会出来一堆
    log0
    gif0
    en0…
    之类的,
    使用命令networksetup -listallhardwareports //查看硬件对应缩写
    如果我们电脑连接的wifi,那么就是en0对应的inet后面的ip,如果连接的网线,就是对应网线的en里面的ip。

    展开全文
  • Java GC日志查看,GC日志时间分析

    万次阅读 2019-03-09 17:00:49
    Java中的GC有哪几种类型? 参数 描述 UseSerialGC 虚拟机运行在Client模式的默认值,打开此开关参数后, 使用Serial+Serial Old收集器组合进行垃圾收集。 ...
  • Java的8个Java日志工具

    千次阅读 2018-06-28 23:49:47
    摘要 : 本文要来分享一些Java程序员最常用的Java日志框架组件。 日志工具 log4j – 最受欢迎的Java日志组件 Log4j是一款基于Java的开源日志组件,Log4j功能非常强大,我们可以将日志信息输出到控制台、文件、用户...
  • Java Logger(java日志)

    万次阅读 2009-10-16 10:29:00
    想要得到更多的使用XML文件配置log4j环境的例子,请查看log4j发行版的目录src/java/org/apache/log4j/xml/examples/ 。 这就是上面讨论的文本文件形式的配置文件: # initialise root logger with level DEBUG and ...
  • Java 日志

    千次阅读 2012-01-11 09:58:02
    java.util.logging包是JDK的日志开发包; 一、日志7个等级 Logger logger = Logger.getLogger(Person.class.getName()); //创建Person类的日志对象; 日志对象时属于某个类的,即有多个日志对象。
  • Java实现日志脱敏处理

    千次阅读 热门讨论 2019-01-24 19:30:36
    Java 实现日志脱敏处理 题记 在日常工作中,日志处理是我们每一个程序员必备的素质,但是在有些场景下客户信息敏感,需要进行某些字段,或者某部分字段的脱敏处理。接到需求我们开始操刀! 需求分析 处理字段的...
  • java日志使用

    万次阅读 多人点赞 2019-06-08 09:56:58
    java日志:日志就是记录程序的运行轨迹,方便查找关键信息,也方便快速定位解决问题。 常用的日志框架:Log4j、Slf4j 、Logback 。 在JDK 1.3及以前,Java打日志依赖System.out.println(), System.err.println()...
  • Java后台日志实时显示

    千次阅读 2019-04-22 13:48:59
    本文仅是一个简单的案例,web端实时显示Java后台日志。需要频繁请求后台以获取日志,并不是长连接。 可以前端传每次想要展示的行数和从第几个字节开始(假设日志文件总共123456字节,但是只想从334字节开始展示) ...
  • Java常用日志框架及实现

    千次阅读 2015-12-16 09:32:53
    Java常用日志框架及实现 作者:雨水,日期:2015-12-16,CSDN博客: http://blog.csdn.net/gobitan 概述 本文简单介绍了一下Java日志框架,包括接口库和实现库,并在具体使用选择上给出了一些建议。 日志...
  • Java GC 日志详解

    万次阅读 多人点赞 2011-10-22 00:12:04
    Java GC日志可以通过 +PrintGCDetails开启 以ParallelGC为例 YoungGC日志解释如下(图片源地址:这里) : FullGC(图片源地址:这里): 一目了然,一图胜千言
  • java日志管理

    万次阅读 2016-10-08 10:20:44
    我们在日常开发中主要使用的java日志框架组件是:log4j、SLF4J、Commons Logging 日志级别一般分为7个打印级别(不同的日志框架组件可能打印的日志级别区别不大): OFF-关闭所有日志; FATAL-记录严重的错误,并且...
  • Java日志框架梳理-Java日志框架总览

    千次阅读 2017-07-29 22:58:37
    常见的Java日志框架 log4j logback j.u.l (java.util.logging) 常见的Java日志门面 SLF4J commons-logging 其中,j.u.l是Java原生库,但是在Java 1.4中才被引用; commons-logging出自Apache,用于桥接j.u.l和log4j...
  • Java日志Log

    千次阅读 2017-08-25 17:53:57
    查看日志和代码调试是进阶程序员的硬本领。目前大家熟知的记录日志有以下几种方式: JDK JDK中提供了日志类:java.util.logging.Logger。可以记录一些简单的日志。但是,在正式项目中,还是推荐使用三方框架。 ...
  • linux根据查看java进程日志的方法

    千次阅读 2020-03-03 23:55:08
    1)先用jps查看进程pid,该进程pid为7233 2)cd /proc/7233/fd,然后用ll查看目录下文件
  • java日志机制

    千次阅读 2011-05-22 14:48:00
    java 自带日志机制
  • Java系统日志管理

    万次阅读 2018-07-06 15:24:06
    在一个系统中日志管理是一个很重要的部分,因为当系统发布到线网后出了问题只能看系统日志了,这个时候系统日志起到了一个错误排查功能,同时也可以通过系统日志统计用户吞吐量等等,总之系统日志是系统管理一个重点...
  • Java常用日志框架介绍

    千次阅读 2017-12-29 23:19:15
    java日志概述 对于一个应用程序来说日志记录是必不可少的一部分。线上问题追踪,基于日志的业务逻辑统计分析等都离不日志。java领域存在多种日志框架,目前常用的日志框架包括Log4j,Log4j 2,Commons Logging,Slf...
  • Java日志的处理

    千次阅读 2018-09-20 21:18:53
    日志是程序运行过程的信息,其数据能够帮助开发人员提前发现并避开异常,在错误发生后能够找到事件的起因,并纠正错误,...我们在日常开发中主要使用的java日志框架组件有:log4j、SLF4J、logback、Commons Logging、lo...
  • java程序日志管理

    千次阅读 2017-02-22 19:59:06
    初入软件开发这一行的人,可能对日志管理的概念并不是很明确,大概是由于经验所限,以至于根本还考虑不到这个问题。 而从某种意义上来说,日志管理实际上也不需要初入这一行的人来管,他们只需要负责实现自己的主要...
  • JAVA记录操作日志步骤

    万次阅读 多人点赞 2019-08-06 14:01:55
    系统日志不论是在日常的管理还是维护中都会起到很大的作用,但是在日志的记录中通常会存在很多的问题 日志记录的不规范性 日志记录的重复性 日志记录的难分类 目前日志主要记录的有三方面 请求的入参,出参 关于...
  • java错误日志

    千次阅读 2011-03-20 17:49:00
    <br />警告: Error sending end packet java.net.SocketException: Software caused connection abort: socket write error at java.net.SocketOutputStream.socketWrite0(Native Method) at ...
  • Java常用日志框架介绍(转载)

    千次阅读 2018-08-07 18:17:34
    java日志概述 对于一个应用程序来说日志记录是必不可少的一部分。线上问题追踪,基于日志的业务逻辑统计分析等都离不日志。java领域存在多种日志框架,目前常用的日志框架包括Log4j,Log4j 2,Commons Logging,Slf...
  • java日志级别

    千次阅读 2020-03-03 17:58:18
    java日志级别有7 个级别:severe、Warning、info、config、fine、finer、finest。默认情况只记录前三个级别。另外可以使用Level.ALL开启所有的级别记录。或者使用Level.OFF关闭所有的级别记录。 log4j中日志级别...
  • [Java基础]-- java类写入日志和定时删除日志

    万次阅读 多人点赞 2016-01-03 15:38:35
    一、写入日志的工具类 LogUtil.java import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.text.SimpleDateFormat; import java.util....
  • java 项目日志管理设计方案

    万次阅读 多人点赞 2017-05-27 16:00:00
    java 项目日志管理设计方案 因项目需要记录整个系统的操作记录,考虑到系统操作日志的数据量,单表很容易达到瓶颈,导致查询效率低下,顾使用分表方案,减小数据库的负担,缩短查询时间。目前对于分表的解决方案有...
  • java记录日志的时间问题怎么和系统时间相差八个小时的?求大神指教

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 782,277
精华内容 312,910
关键字:

java查看日志地址

java 订阅