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都挂在了一起,以致发生线程不足,这导致管家线程无法运行两个以上的管家周期。

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

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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 函数iconv_substr和mb_substr

    函数iconv_substr和mb_substr

    2021年9月19日
    52
  • 一窥直播技术新趋势「建议收藏」

    一窥直播技术新趋势「建议收藏」历经2016直播元年的爆发,直播App的虚火逐步降温,行业逐渐恢复理性,并不断探索新的产品形态与创新。这其中,技术扮演了不可或缺的角色,新的编码与传输协议,覆盖全球的网络架构,低延迟的音频传输与白板,基于深度学习的图像识别等,这一切进一步加强了各直播参与方的互动。基于Html5的直播技术,AR/VR,H.265编码普及,高清直播成本进一步降低,人工智能等技术又将让直播充满了更多想象。

    2022年7月21日
    14
  • 数据结构里的串是什么东西?[通俗易懂]

    数据结构里的串是什么东西?[通俗易懂]上个月终于把栈和队列专题完成了,其实从开始到现在,我们主要学到的东西其实就是数组与链表的各种变种。那么这个月开始,我们轻松点,学习些别的东西。那么开启新的专题:串。上个月终于把栈和队列专题完成了,其

    2022年8月5日
    4
  • 微信地位,牢不可破?

    微信地位,牢不可破?作者|李楠本文经授权转自新浪科技QQ与微信接连称霸社交赛道20年后,新的临界点似乎已经到来。回看2019的社交市场,新产品持续推出。截至目前,阿里巴巴、字节跳动、百度、京东、网易、搜狐等新老巨头纷纷入局,映客8500万美元收购积目引起热议,以“灵魂”做标签的Soul崭露头角。有专家向新浪科技表示,00后群体正在崛起,其对社交网络的需求有所差别,这群主力军不一定热衷于微…

    2022年5月14日
    39
  • 什么是 Promethues | 普罗米修斯( 集群监控系统 )

    什么是 Promethues | 普罗米修斯( 集群监控系统 )Promethues监控系统Prometheus是个啥Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是GoogleBorgMon监控系统的开源版本。监控系统什么是监控系统1、监控系统在这里特指对数据中心的监控,主要针对数据中心内的硬件和软件进行监控和告警2、随着技术不断迭代,越来越复杂的数据中心环境对监控系统提出了更越来越高的要求:需要监控不同的对象,例如容器,分布式存储,SDN网络,分布式系统

    2022年7月19日
    25
  • pycharm如何缩进多行代码_pycharm整段代码缩进

    pycharm如何缩进多行代码_pycharm整段代码缩进pycharm多行代码缩进、左移在使用pycharm时,经常会需要多行代码同时缩进、左移,pycharm提供了快捷方式1、pycharm使多行代码同时缩进鼠标选中多行代码后,按下Tab键,一次缩进四个字符2、pycharm使多行代码同时左移鼠标选中多行代码后,同时按住shift+Tab键,一次左移四个字符…

    2022年8月25日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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