当前位置: 首页 > 面试题库 >

Tomcat GC日志语句说明

傅皓君
2023-03-14
问题内容

这是我的tomcat服务器生成的catalina.out中的一条语句:

1885.855:[GC [PSYoungGen:742996K-> 64359K(761472K)] 2509583K->
1832973K(4116928K),0.1453610秒] [时间:用户= 0.31 sys = 0.00,真实= 0.14秒]

有人可以在这里解释各种数字的含义吗?


问题答案:

该行的分解如下:

1885.85 -这是以秒为单位的,是JVM运行的时间,因此,在您的情况下,大约是31分钟,此时发生了GC。

[GC-指出在此时间点发生了GC。这是部分GC,有时会显示Full GC

现在,可用于JVM的总堆=年轻+老

[PSYoungGen:742996K->64359K(761472K) -表示年轻一代中的并行清除收集器(这是JVM中可用的多种GC收集器之一)。

GC释放的内存始终属于该模式

x->y(z)

x是GC之前的初始内存,y是GC之后的内存,z是JVM中该区域允许的总内存

因此,在您的示例中, 742996K->64359K(761472K)-总的Young大小为761Mb,当它达到742
Mb时发生了一次收集,它清除到64.3Mb,即清除了678 Mb

2509583K->1832973K(4116928K)

这里表示总堆内存。因此,在发生4.1 Gb的总可能堆中,发生GC时,它已填满2.5 Gb,而现在已降至1.83 Gb-再次清除了相同的678 Mb。

0.1453610 secs]

整个操作花费了0.1453610秒

[Times: user=0.31 sys=0.00, real=0.14 secs]

这只是一行-您将在其中寻找一种模式,尤其是其中的一种,Full GC并使用GCViewer之类的日志分析器向您显示吞吐量和其他优点。

另请阅读Sun的文档以获取基础知识。



 类似资料:
  • 有没有更简单的方法来完成我想要的?如果这是最好的方法,那么我做错了什么?

  • 问题内容: 我可以编译上面的方法。关于允许的多个“ +”运算符,是否有任何解释? 问题答案: 它是加法,然后一元加运算符重复。等效于以下内容:

  • 问题内容: 对于任何级别的每个logger语句,我都需要显示执行log语句的文件名,以下是我给出的插图: 示例:下面是从 JobWork.js* 执行的行 * 实际: 必填: 如果不通过log语句传递fileName作为参数,则应提供文件名。 问题答案: 您可以使用附加到v8 对象的堆栈跟踪信息来查找调用代码的文件/行。这种方法行之有效,但效果不佳。因此,如果在开发过程中使用它,则在生产时将要禁用

  • 6.1.2 段寄存器的说明语句 在汇编语言源程序中可以定义多个段,每个段都要与一个段寄存器建立一种对应关系。建立这种对应关系的说明语句格式如下: ASSUME 段寄存器名:段名[,段寄存器名:段名, ……] 其中:段寄存器是CS、DS、ES、SS、FS和GS,段名是在段定义语句说明时的段名。 在一条ASSUME语句中可建立多组段寄存器与段之间的关系,每种对应关系要用逗号分隔。例如, ASSUME

  • 问题内容: 我的应用程序有一个自制的日志记录类,我将在后台使用log4j进行迁移。但是,由于我正在使用homebrew类将应用程序的其余日志记录语句传递给log4j,因此输出语句被记录为来自包装类而不是源类。 除了为每个log语句创建新的org.apache.log4j.Logger实例之外,是否有办法确保显示“正确的”源?我也尝试过使用Logger.log(String callerFQCN,P

  • 我试图通过连接eclipse IDE中的Oracle数据库,使用JDBC程序启用日志。 我已经完成了这个SO post JDBC日志记录到文件,然后我创建了下面的java程序并从我的eclipse IDE运行它,但是我看不到JDBC驱动程序类生成的任何日志。 我的OracleLog中有以下内容。属性文件: 但是当我通过将放在类路径中运行我的程序时,我会得到异常: 如果我在类路径中有ojdbc6\u

  • 我正在将JSP转换为Thymeleaf,同时将SOA服务转换为Spring Boot。我想知道我是否在继续获取以下语句时没有正确配置某些内容: 在我的范围内。html文件(位于/resources/templates目录中) 在我的Spring启动启动中,我看到ResourceHttpRequest estHandler映射如下: 有什么我没有配置的吗?页面正在被发现并呈现良好。。只是这些信息散落

  • 本文向大家介绍postgresql SQL语句变量的使用说明,包括了postgresql SQL语句变量的使用说明的使用技巧和注意事项,需要的朋友参考一下 一般变量使用我们都是放在函数里面,这里开发需求,要在SQL直接使用变量,方便查找一些问题,比如时间变量,要根据时间进行筛选 这里有三种方法可以实现 1.psql命令使用变量 表数据如下: SQL文本如下 通过psql查看 或者 效果一样 2.\