HikariPool-1 – Thread starvation or clock leap detected与Hikari数据源配置

HikariPool-1 – Thread starvation or clock leap detected与Hikari数据源配置2019-12-0412:10:51.494WARN14480—[l-1housekeeper]com.zaxxer.hikari.pool.HikariPool:HikariPool-1-Threadstarvationorclockleapdetected(housekeeperdelta=7m48s317ms362µs591ns)….

大家好,又见面了,我是你们的朋友全栈君。

目录

一、日志信息

二、Hikari

1)概述

​2)数据源修改

3)pom.xml引用

4)yml数据源配置

5)运行正常

三、其他


一、日志信息

2019-02-04 12:10:51.494  WARN 14480 --- [l-1 housekeeper] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 
- Thread starvation or clock leap detected (housekeeper delta=7m48s317ms362µs591ns).
2019-02-04 12:48:17.254  WARN 14480 --- [l-1 housekeeper] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 
- Thread starvation or clock leap detected (housekeeper delta=7m25s798ms90µs273ns).
2019-02-04 13:19:38.276  WARN 14480 --- [l-1 housekeeper] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 
- Thread starvation or clock leap detected (housekeeper delta=1m21s77ms385µs775ns).
2019-02-04 14:05:35.244  WARN 14480 --- [l-1 housekeeper] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 
- Thread starvation or clock leap detected (housekeeper delta=4m27s7ms106µs449ns).

直译:HikariPool-1-检测到线程不足或时钟跳跃。

人话:检测到等待连接的时间过长,造成线程不足;或者检查测时钟跳跃

情况:

调试的时候,在定时任务中设了断点,停留时间较长,所以出现Thread starvation or clock leap detected,

直接搜索关键字Hikari、HikariPool

二、Hikari

1)概述

SpringBoot2中默认的数据已经更改为hikari,据说性能很高,有兴趣的可以进行测试。
目前使用最广泛的druid基础数组实现,而hikari则是基于threadlocal +CopyOnWriteArrayList实现。

​2)数据源修改

查看官方文档,发现默认数据源修改了

HikariPool-1 - Thread starvation or clock leap detected与Hikari数据源配置

3)pom.xml引用

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>

4)yml数据源配置

添加:

type: com.zaxxer.hikari.HikariDataSource
spring:
  #数据源配置
  datasource:
    type: com.zaxxer.hikari.HikariDataSource
    url: jdbc:mysql://127.0.0.1:3306/dmw?createDatabaseIfNotExist=true&autoReconnect=true&default-character-set=utf8&&useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver
  servlet:
    multipart:
      max-file-size: 50MB
      max-request-size: 100MB
  redis:
    # Redis数据库索引(默认为0)
    database: 6
    # Redis服务器地址

HikariPool-1 - Thread starvation or clock leap detected与Hikari数据源配置

5)运行正常

HikariPool-1 - Thread starvation or clock leap detected与Hikari数据源配置

三、其他

它在管家线程上运行,该线程每30秒执行一次。如果在Mac OS X上,clockSource是System.currentTimeMillis(),则任何其他平台上的clockSource是System.nanoTime()。从理论上讲,两者都在单调增加,但是诸如NTP服务器之类的各种因素都可能影响到这一点。大多数操作系统旨在处理向后NTP时间调整,以保留对时间的前向错觉的幻想。

这段代码说的是,如果时间倒退(现在<以前),或者如果时间“跳跃”了两个以上的内务处理周期(超过60秒),那么可能会发生一些奇怪的事情。

可能正在发生一些事情:

  • 您可能正在某个虚拟容器(VMWare,AWS等)中运行,由于某种原因,该容器在维持时间上的错觉方面做得特别差。
  • 由于管家线程中发生了其他事情-特别是关闭空闲连接-出于某种原因,关闭连接可能会阻塞管家线程两个以上的维护周期(60秒)。
  • 服务器太忙了,所有CPU都挂在了一起,以致发生线程不足,这导致管家线程无法运行两个以上的管家周期。

有用请点赞,养成良好习惯!

疑问、交流、鼓励请留言!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/152348.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Redis学习——Redis持久化之RDB备份方式保存数据

    Redis学习——Redis持久化之RDB备份方式保存数据

  • 关联图谱位于反欺诈技术金字塔模型什么层_知识图谱的应用场景

    关联图谱位于反欺诈技术金字塔模型什么层_知识图谱的应用场景关系图谱概要随着近几年互联网金融的发展,玲琅满目的信贷产品早已被羊毛党盯上,层出不穷的营销活动更是让欺诈分子有了可乘之机,伪造资料、恶意注册大量虚假账号、团伙包装、刷单、抢红包、套返利等等,他们的欺诈技术手段也越来越高明(群控、云控),成本也越来越低。为了限制这些欺诈用户,信贷机构通过建立反欺诈团队和风控防范体系,使用专家规则和预测模型来拦截欺诈份子。但是道高一尺魔高一丈,再严密的规则也…

  • 数据仓库中拉链表的实现程序_拉链表中统计90天数据

    数据仓库中拉链表的实现程序_拉链表中统计90天数据在有些情况下,为了保持历史的一些状态,需要用拉链表来做,这样做目的在可以保留所有状态的情况下可以节省空间。拉链表适用于以下几种情况吧数据量有点大,表中某些字段有变化,但是呢变化的频率也不是很高,业务需求呢又需要统计这种变化状态,每天全量一份呢,有点不太现实,不仅浪费了存储空间,有时可能业务统计也有点麻烦,这时,拉链表的作用就提现出来了,既节省空间,又满足了需求。一般在数仓中通过增加begi…

    2022年10月16日
  • Java两种动态代理JDK动态代理和CGLIB动态代理[通俗易懂]

    Java两种动态代理JDK动态代理和CGLIB动态代理[通俗易懂]目录代理模式JDK动态代理cglib动态代理测试代理模式代理模式是23种设计模式的一种,他是指一个对象A通过持有另一个对象B,可以具有B同样的行为的模式。为了对外开放协议,B往往实现了一个接口,A也会去实现接口。但是B是“真正”实现类,A则比较“虚”,他借用了B的方法去实现接口的方法。A虽然是“伪军”,但它可以增强B,在调用B的方法前后都做些其他的事情。SpringAOP…

  • Updating indexes

    Updating indexesUpdatingindexesUpdatingindexes是Maven在下载更新,解决办法如下:Window–>Preferences–>MyeclipseEnterpriseWorkbench–>Maven4Myeclipse–>Maven–>去除Downloadrepositoryindexupdatesons…

    2022年10月31日
  • 防盗链原理

    防盗链原理引子:明明引用了一个正确的图片地址,但显示出来的却是一个红叉或写有“此图片仅限于***网站用户交流沟通使用”之类的“假图片”(下图便是网易博客的防盗链效果)。用嗅探软件找到了多媒体资源的真实地址用下载软件仍然不能下载。下载一些资源时总是出错,如果确认地址没错的话,大多数情况都是遇上防盗链系统了。常见的防盗链系统,一般使用在图片、音视频、软件等相关的资源上。        一、什么是

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号