日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

springboot项目部署后项目启动慢

發(fā)布時間:2023/12/18 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 springboot项目部署后项目启动慢 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 說明
    • 排查
      • jstack調試
    • 解決方法

說明

最近部署一個項目到centOS上時,項目啟動運行,中間會卡住一段時間,將近2,3分鐘。看日志沒有報錯。同樣的包,在另外一臺機子部署后啟動又是正常的。

排查

百度了一圈。網上大部份都說random的原因, 我都照著改了,但是,依然很慢。
于是去問我們部門大大牛;大牛說你用jstack看一下日志了嗎???我:…
沒用過jstack調試工具;于是,又開始漫長的度娘了。

jstack調試

  • 在程序啟動之后,立即執(zhí)行:
  • ps -aux|grep 程序名稱

    得到進程pid;

  • 然后執(zhí)行jstack命令,監(jiān)控jvm狀態(tài):
  • jstack -l 進程id

    jstack的日志大致如下:
    卡住的時候關鍵log是一下這一段:

    "main" #1 prio=5 os_prio=0 tid=0x00007f399000c800 nid=0x276a6 runnable [0x00007f39961e1000]java.lang.Thread.State: RUNNABLEat java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:929)at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1324)at java.net.InetAddress.getLocalHost(InetAddress.java:1501)- locked <0x00000000fd466af8> (a java.lang.Object)at sun.management.VMManagementImpl.getVmId(VMManagementImpl.java:140)at sun.management.RuntimeImpl.getName(RuntimeImpl.java:59)at org.springframework.boot.system.ApplicationPid.getPid(ApplicationPid.java:54)at org.springframework.boot.system.ApplicationPid.<init>(ApplicationPid.java:45)at org.springframework.boot.logging.LoggingSystemProperties.apply(LoggingSystemProperties.java:123)at org.springframework.boot.logging.AbstractLoggingSystem.applySystemProperties(AbstractLoggingSystem.java:177)at org.springframework.boot.logging.Slf4JLoggingSystem.loadConfiguration(Slf4JLoggingSystem.java:61)at org.springframework.boot.logging.logback.LogbackLoggingSystem.loadConfiguration(LogbackLoggingSystem.java:151)at org.springframework.boot.logging.AbstractLoggingSystem.initializeWithConventions(AbstractLoggingSystem.java:80)at org.springframework.boot.logging.AbstractLoggingSystem.initialize(AbstractLoggingSystem.java:60)at org.springframework.boot.logging.logback.LogbackLoggingSystem.initialize(LogbackLoggingSystem.java:118)at org.springframework.boot.context.logging.LoggingApplicationListener.initializeSystem(LoggingApplicationListener.java:313)at org.springframework.boot.context.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:288)at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEnvironmentPreparedEvent(LoggingApplicationListener.java:246)at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:223)at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127)at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:76)at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:53)at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:345)at org.springframework.boot.SpringApplication.run(SpringApplication.java:308)at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)at ctsi.riverchief.eureka.EurekaApplication.main(EurekaApplication.java:12)Locked ownable synchronizers:- None"VM Thread" os_prio=0 tid=0x00007f3990256800 nid=0x276bb runnable

    這個錯誤的原因是因為hosts和hostname不一致導致的;

    解決方法

  • 查看本機的hostname:
  • [zjsl@host-192-168-* etc]$ hostname

  • 查看/etc/hosts文件內容:
  • [zjsl@host-192-168-* etc]$ cat /etc/hosts

    這里就發(fā)現hosts文件真的沒有配置本機的hostname映射;

  • 往hosts里面添加一行到本機的hostname映射(需要root權限)
  • vi /etc/hosts

  • 保存后,重啟網絡:
  • service network restart

    重試項目啟動,問題解決!!!

    參考:Centos 啟動Spring boot項目慢的原因

    總結

    以上是生活随笔為你收集整理的springboot项目部署后项目启动慢的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。