<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      JVM內存啟動問題

       

      springboot jar項目什么情況下會宕機
       
      Spring Boot Jar 包形式的項目(即通過 java -jar 啟動的獨立應用)宕機(突然退出或崩潰)的原因多種多樣,可能涉及代碼缺陷、資源問題、外部環境影響等。以下是常見的宕機場景及具體原因分析:

      一、未處理的異常導致進程退出

      Java 進程的生命周期依賴于主線程(main 線程)和關鍵守護線程的存活。若核心線程因未捕獲的異常終止,可能導致整個進程退出。
      1. 主線程拋出未捕獲異常Spring Boot 的啟動入口是 SpringApplication.run(),若啟動過程中(如容器初始化、Bean 加載階段)拋出未捕獲的 Exception 或 Error(如 OutOfMemoryErrorNoClassDefFoundError),且未被框架捕獲,會直接導致主線程終止,進程退出。例:
        • 配置文件錯誤(如 @Value 注入的屬性不存在且無默認值)導致 IllegalArgumentException
        • 自定義 CommandLineRunner 或 ApplicationRunner 的 run 方法拋出未處理異常。
      2. 非守護線程拋出未捕獲異常Java 中,非守護線程(用戶線程)的未捕獲異常若未被 Thread.UncaughtExceptionHandler 處理,會導致該線程終止;若所有非守護線程都終止,進程會退出。例:
        • 業務線程池中的線程執行任務時拋出 RuntimeException 且未捕獲,若線程池核心線程全部異常終止,且無新任務觸發線程重建,可能導致進程 “空轉” 后退出(視線程池配置而定)。
        • 定時任務(如 @Scheduled)的執行邏輯拋出未處理異常,若框架未配置全局異常處理器,可能導致定時任務線程終止,極端情況下引發進程退出。

      二、內存問題導致崩潰

      內存不足或內存泄漏是 Java 應用宕機的常見原因,尤其在 Jar 包部署的獨立環境中。
      1. OutOfMemoryError(OOM)當 JVM 無法分配足夠內存時,會拋出 OutOfMemoryError,若該異常未被捕獲(通常無法捕獲,因為內存已耗盡),進程會直接崩潰。常見 OOM 場景:
        • 堆內存溢出(Java heap space):對象創建過多且未及時回收(如無限循環創建對象、內存泄漏),堆內存(-Xmx)設置不足。
        • 方法區 / 元空間溢出(Metaspace):動態生成大量類(如 CGLIB 代理、反射頻繁生成類),元空間(-XX:MaxMetaspaceSize)設置不足。
        • 棧溢出(StackOverflowError):遞歸調用過深,棧內存(-Xss)不足,雖不屬于 OOM,但會直接導致線程終止,若發生在主線程則進程退出。
      2. 內存泄漏長期運行的應用中,內存泄漏會逐漸耗盡可用內存,最終觸發 OOM 導致宕機。例:
        • 靜態集合(如 static List)無限添加對象且不清理。
        • 未關閉的資源(如數據庫連接、文件流)導致對象無法被 GC 回收。
        • 第三方庫(如緩存框架)使用不當,導致內存占用持續增長。

      三、資源耗盡導致不可用或崩潰

      系統資源(如文件描述符、線程、端口)耗盡會導致應用無法處理新請求,甚至被操作系統強制終止。
      1. 文件描述符(File Descriptor)耗盡每個打開的文件、網絡連接(Socket)都會占用文件描述符。若應用頻繁創建連接卻不釋放(如未關閉的數據庫連接、HTTP 客戶端連接),或系統默認文件描述符上限(ulimit -n)過低,會導致 Too many open files 錯誤,最終引發 IO 操作失敗,甚至進程崩潰。
      2. 線程耗盡若應用無限制創建線程(如每次請求創建新線程),或線程池核心線程 / 最大線程數設置過大,會導致系統線程數超過內核限制(/proc/sys/kernel/threads-max),引發 OutOfMemoryError: unable to create new native thread,最終進程崩潰。
      3. 端口耗盡客戶端短連接場景下(如頻繁創建 outbound 連接),若本地端口(臨時端口,默認范圍 32768-60999)被耗盡,會導致新連接無法建立(Address already in use),若核心業務依賴外部服務,可能因無法通信而觸發應用自我終止(如健康檢查失敗)。

      四、外部信號或系統干預

      進程可能被外部信號強制終止,或因系統資源不足被內核殺死。
      1. 用戶 / 腳本發送終止信號
        • kill -9 <pid>:強制終止信號(SIGKILL),進程無法捕獲,會立即退出。
        • kill <pid>:默認發送 SIGTERM 信號,若應用未注冊信號處理器,會被動退出(Spring Boot 默認不處理 SIGTERM,需自定義 ShutdownHook 優雅關閉,但強制終止仍會宕機)。
      2. 系統 OOM Killer 干預當操作系統內存耗盡時,內核的 OOM Killer 會根據進程的內存占用、優先級等評分(oom_score)選擇 “犧牲品” 并殺死,釋放內存。Spring Boot 應用若占用內存過高(如頻繁 OOM 前的內存暴漲),可能被 OOM Killer 選中,進程會被強制終止(可通過 dmesg | grep -i 'killed process' 查看記錄)。
      3. 容器 / 編排工具的健康檢查失敗在 Docker、K8s 等環境中,若應用健康檢查(如 Actuator 的 /health 端點)持續失敗,容器會被自動重啟或殺死(如 K8s 的 livenessProbe 失敗觸發重啟)。

      五、配置錯誤或依賴沖突

      啟動階段的配置錯誤可能導致應用無法正常啟動,或運行中因配置不當引發崩潰。
      1. 啟動時配置錯誤
        • 端口被占用(Address already in use):若 server.port 已被其他進程占用,且未配置 server.port=0(隨機端口),應用啟動失敗后直接退出。
        • 依賴沖突:如不同版本的 Spring 組件、Jackson 等庫沖突,導致 NoSuchMethodErrorClassCastException 等,啟動時崩潰。
        • 外部服務不可用:若應用啟動依賴數據庫、Redis 等服務,且未配置重試或容錯(如 spring.datasource.continue-on-error=false),連接失敗會導致啟動終止。
      2. 運行時配置不當
        • 線程池配置不合理:如核心線程數為 0、隊列容量為 0,且拒絕策略為 AbortPolicy(默認),高并發下觸發 RejectedExecutionException,若未處理可能導致關鍵任務失敗,間接引發應用退出。
        • 超時配置缺失:如數據庫連接超時未設置,網絡波動時線程長期阻塞,導致線程池耗盡,應用失去響應,最終被監控系統殺死。

      六、JVM 或系統級故障

      1. JVM 內部錯誤(Internal Error)罕見但可能發生,如 JVM 自身 Bug、硬件故障(內存損壞)導致的 Internal Error,會直接觸發進程崩潰(通常伴隨 hs_err_pid<pid>.log 日志)。
      2. 系統級問題
        • 磁盤滿:應用寫入日志、臨時文件時,若磁盤空間耗盡(No space left on device),可能導致 IO 異常,若核心邏輯依賴文件操作,會引發應用崩潰。
        • 網絡中斷:分布式應用中,若與注冊中心(如 Eureka、Nacos)、配置中心的連接長期中斷,且未配置容錯機制,可能觸發自我保護機制失敗后退出。

      如何排查宕機原因?

      1. 查看日志:優先檢查應用日志(如 application.log)的最后輸出,是否有異常堆棧(如 OOM、未處理的 Exception)。
      2. JVM 崩潰日志:若發生 JVM 內部錯誤或 OOM,會生成 hs_err_pid<pid>.log,記錄崩潰時的內存、線程狀態。
      3. 系統日志:通過 dmesg/var/log/messages 查看是否被 OOM Killer 殺死,或系統資源不足的記錄。
      4. 監控指標:結合 Prometheus、Grafana 等工具,查看宕機前的內存、CPU、線程數、文件描述符等指標是否異常。
      總結:Spring Boot Jar 項目宕機通常是 “代碼缺陷 + 資源限制 + 環境因素” 共同作用的結果,需從異常處理、資源配置、依賴管理、監控告警等多方面預防。

      ---------------------------------------------------------------------------------------

      springboot jar 啟動命令 java -jar
       
      java -jar 是啟動 Spring Boot JAR 包最基礎的命令,通過它可以直接運行打包好的 Spring Boot 應用。

      1. 基礎啟動命令

      這是最常用的方式,直接執行 JAR 文件,使用應用默認的配置。
      bash
       
       
      java -jar your-project-name.jar
      
       
      • your-project-name.jar 需替換為實際的 JAR 文件名,例如 demo-0.0.1-SNAPSHOT.jar
      • 啟動后,控制臺會輸出應用日志,關閉控制臺會直接停止應用。

      2. 進階啟動配置

      在實際場景中,常需要結合配置文件、JVM 參數或后臺運行等需求,以下是常見用法。

      (1)指定配置文件

      當需要使用非默認配置文件(如 application-dev.ymlapplication-test.properties)時,通過 --spring.profiles.active 指定環境。
      bash
       
       
      # 使用 dev 環境的配置文件
      java -jar your-project-name.jar --spring.profiles.active=dev
      
      # 也可直接指定外部配置文件路徑(適用于配置文件不在 JAR 內的場景)
      java -jar your-project-name.jar --spring.config.location=/path/to/application.yml
      
       

      (2)設置 JVM 參數

      用于調整內存大小、日志輸出格式等 JVM 級別的配置,參數需放在 -jar 前面。
      bash
       
       
      # 設置初始堆內存 512M,最大堆內存 1024M
      java -Xms512m -Xmx1024m -jar your-project-name.jar
      
      # 同時指定 JVM 參數和環境配置
      java -Xms512m -Xmx1024m -jar your-project-name.jar --spring.profiles.active=prod
      
       

      (3)后臺運行(避免控制臺關閉后應用停止)

      不同操作系統的后臺運行命令不同,核心是讓進程脫離控制臺。
      • Linux/macOS:使用 nohup 和 &,日志默認輸出到 nohup.out
        bash
         
         
        nohup java -jar your-project-name.jar --spring.profiles.active=prod &
        
         
         
      • Windows:可使用 start /b 后臺運行,或創建批處理腳本。
        cmd
         
         
        start /b java -jar your-project-name.jar --spring.profiles.active=prod
        
         
         

      3. 常見問題與解決

      • 問題 1:端口被占用
         
        報錯信息通常為 Address already in use,可通過 --server.port 臨時指定端口。
        bash
         
         
        java -jar your-project-name.jar --server.port=8081
        
         
         
      • 問題 2:找不到主類
         
        一般是 JAR 包打包不完整,需檢查 pom.xml 中是否引入 Spring Boot 打包插件,確保打包正確。
        xml
         
         
        <build>
          <plugins>
            <plugin>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
          </plugins>
        </build>
        
         
         

      要不要我幫你整理一份 Spring Boot JAR 啟動命令速查表?里面會包含基礎、進階用法及常見問題解決,方便你日常開發和部署時快速查閱。
       
      java -jar 指定內存等參數
       
      在使用 java -jar 啟動 Spring Boot 應用時,JVM 內存參數(如堆內存、元空間等)需要放在 -jar 前面(JVM 參數必須位于命令主體前),用于指定 JVM 的資源分配策略。以下是常見的內存參數及配置方式:

      一、核心內存參數(必知)

      1. 堆內存設置(最常用)

      • -Xms:初始堆內存大小(JVM 啟動時分配的內存)
      • -Xmx:最大堆內存大小(JVM 運行中允許使用的最大內存)
      通常建議將兩者設置為相同值(避免 JVM 頻繁動態調整堆大小,減少性能損耗)。
      單位:k(千字節)、m(兆字節)、g(千兆字節),不寫單位默認字節。
      bash
       
       
      # 示例:初始堆 512M,最大堆 1024M
      java -Xms512m -Xmx1024m -jar your-project.jar
      
       

      2. 新生代 / 老年代設置(進階)

      堆內存分為 新生代(Young Generation,存放新創建的對象)和 老年代(Old Generation,存放長期存活的對象),可通過以下參數調整比例:
      • -Xmn:新生代內存大小(建議為堆內存的 1/3 ~ 1/4)
      • -XX:NewRatio:新生代與老年代的比例(默認 2,表示老年代:新生代 = 2:1)
      bash
       
       
      # 示例:堆內存 1024M,新生代 256M(老年代則為 768M)
      java -Xms1024m -Xmx1024m -Xmn256m -jar your-project.jar
      
      # 示例:通過 NewRatio 設置老年代:新生代 = 3:1(堆內存 1024M 時,新生代 256M,老年代 768M)
      java -Xms1024m -Xmx1024m -XX:NewRatio=3 -jar your-project.jar
      
       

      3. 元空間(Metaspace)設置(Java 8+)

      元空間用于存儲類信息、方法元數據等(替代 Java 7 及之前的 “永久代”),默認大小受系統內存限制,若類過多可能導致 OOM,需手動指定:
      • -XX:MetaspaceSize:元空間初始大小(觸發 GC 的閾值)
      • -XX:MaxMetaspaceSize:元空間最大大小
      bash
       
       
      # 示例:元空間初始 128M,最大 256M
      java -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -jar your-project.jar
      
       

      二、組合配置示例

      實際部署中常需同時設置堆內存、元空間,并結合應用環境配置(如指定 prod 環境),示例:
      bash
       
       
      # 完整示例:堆內存 2G(初始=最大),新生代 512M,元空間最大 512M,使用 prod 環境配置
      java -Xms2g -Xmx2g -Xmn512m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -jar your-project.jar --spring.profiles.active=prod
      
       

      三、驗證參數是否生效

      啟動后,可通過 jinfo 命令查看當前應用的 JVM 參數(需知道進程 ID):
      1. 先查進程 ID(Linux 用 ps -ef | grep java,Windows 用 tasklist | findstr java
      2. 執行 jinfo <進程ID>,在輸出中搜索設置的參數(如 XmsXmx)。
      例如:
      bash
       
       
      # 查進程 ID
      ps -ef | grep your-project.jar
      
      # 假設進程 ID 是 12345,查看參數
      jinfo 12345 | grep -E "Xms|Xmx|Metaspace"
      
       

      四、注意事項

      1. 參數順序:JVM 參數(如 -Xms)必須放在 -jar 前面,否則不生效;應用參數(如 --spring.profiles.active)放在 -jar 后面。
      2. 內存上限:最大堆內存(Xmx)不應超過服務器物理內存的 70%(避免與其他進程搶占資源)。
      3. 版本差異:Java 8 及以上用 Metaspace 參數,Java 7 及以下用 PermSize(永久代)參數(如 -XX:PermSize=128m -XX:MaxPermSize=256m)。
      如果需要針對特定場景(如高并發、大數據處理)優化 JVM 參數,可以告訴我你的應用特點,我會提供更具體的配置建議~
       
      java -jar 機器內存等參數有哪些
       
      在使用 java -jar 啟動應用時,與 “機器內存” 相關的參數主要是 JVM 內存分配參數(用于控制 JVM 對系統內存的使用),包括堆內存、非堆內存、直接內存等。這些參數決定了 JVM 如何從機器物理內存中分配資源,直接影響應用的性能和穩定性。

      一、核心內存參數(按內存區域分類)

      1. 堆內存參數(JVM 管理的主要內存區域,存放對象實例)

      堆內存是 JVM 中最大的內存區域,所有對象實例都在這里分配,也是垃圾回收的主要區域。
      參數作用說明示例
      -Xms 初始堆內存大小(JVM 啟動時分配的內存) -Xms512m(初始 512MB)
      -Xmx 最大堆內存大小(JVM 運行中允許使用的最大堆內存) -Xmx2g(最大 2GB)
      -Xmn 新生代內存大小(堆內存中 “新生代” 的固定大小,剩余為老年代) -Xmn1g(新生代 1GB)
      -XX:NewRatio 老年代與新生代的比例(默認 2,即老年代:新生代 = 2:1) -XX:NewRatio=3(3:1)
      -XX:SurvivorRatio 新生代中 Eden 區與 Survivor 區的比例(默認 8,即 Eden:Survivor=8:1:1) -XX:SurvivorRatio=10(10:1:1)

      2. 非堆內存參數(存放類信息、方法元數據等,不參與垃圾回收)

      非堆內存獨立于堆內存,主要用于存儲類結構、常量池、方法元數據等,Java 8+ 用 “元空間” 替代了早期的 “永久代”。
      參數作用說明(Java 8+)示例
      -XX:MetaspaceSize 元空間初始大小(觸發首次 GC 的閾值) -XX:MetaspaceSize=128m
      -XX:MaxMetaspaceSize 元空間最大大小(默認無上限,受系統內存限制,建議手動指定避免 OOM) -XX:MaxMetaspaceSize=256m
      Java 7 及以下版本(使用 “永久代”):
      參數作用說明示例
      -XX:PermSize 永久代初始大小 -XX:PermSize=64m
      -XX:MaxPermSize 永久代最大大小 -XX:MaxPermSize=128m

      3. 直接內存參數(堆外內存,用于 NIO 操作)

      直接內存(Direct Memory)不屬于 JVM 堆內存,由操作系統直接管理,主要用于 NIO 的 DirectByteBuffer 操作(如網絡 IO、文件 IO),避免堆內存與操作系統之間的數據拷貝,提升性能。
      參數作用說明示例
      -XX:MaxDirectMemorySize 最大直接內存大小(默認與堆內存最大值 -Xmx 一致,建議手動指定) -XX:MaxDirectMemorySize=512m

      4. 內存調試與監控參數(輔助排查內存問題)

      參數作用說明示例
      -XX:+HeapDumpOnOutOfMemoryError 發生堆內存溢出(OOM)時,自動生成堆轉儲文件(.hprof) 需配合 -XX:HeapDumpPath 使用
      -XX:HeapDumpPath 指定堆轉儲文件的保存路徑 -XX:HeapDumpPath=/logs/heapdump.hprof
      -verbose:gc 輸出 GC 詳細日志(包括內存回收情況) 無額外值,直接添加參數
      -XX:+PrintGCDetails 打印更詳細的 GC 日志(包括各內存區域大小、回收時間等) 無額外值,直接添加參數

      二、完整配置示例(結合機器內存)

      假設服務器物理內存為 8GB,部署一個 Spring Boot 應用,建議配置如下(避免占用過多內存影響其他進程):
      bash
       
       
      # 堆內存:初始 2G,最大 4G(不超過物理內存的 50%)
      # 新生代:1G(堆內存的 1/4 ~ 1/3)
      # 元空間:最大 512M(根據類數量調整)
      # 直接內存:最大 1G(若應用大量使用 NIO,可適當增加)
      # 開啟 OOM 時自動 dump 堆日志
      java -Xms2g -Xmx4g -Xmn1g \
           -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m \
           -XX:MaxDirectMemorySize=1g \
           -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/app/heapdump.hprof \
           -jar your-project.jar --spring.profiles.active=prod
      
       

      三、注意事項(結合機器內存配置)

      1. 堆內存上限:-Xmx 建議不超過服務器物理內存的 70%(例如 8GB 內存,-Xmx 不超過 5~6GB),避免與其他進程(如數據庫、緩存)搶占內存導致系統卡頓。
      2. 初始與最大堆一致:-Xms 與 -Xmx 設為相同值,避免 JVM 運行中動態調整堆大小(會觸發額外 GC,影響性能)。
      3. 元空間與直接內存:若應用依賴大量第三方庫(類數量多),需調大 MaxMetaspaceSize;若頻繁使用 NIO(如 Netty、文件上傳),需調大 MaxDirectMemorySize
      4. 監控與調整:通過 jstat(監控 GC 情況)、jmap(查看內存分布)或可視化工具(JConsole、VisualVM)觀察內存使用,逐步優化參數。
      如果需要根據具體應用場景(如微服務、大數據處理、高并發接口)優化參數,可以告訴我你的應用特點,我會提供更針對性的配置建議~
       
      java -jar -XX 配置超過機器的內存 能起來服務么
       
      當 java -jar 配置的 JVM 內存參數(如 -Xmx-XX:MaxMetaspaceSize 等)超過機器的實際可用內存時,服務可能啟動失敗,也可能啟動成功但運行中崩潰,具體取決于操作系統的內存管理機制和實際內存壓力。

      一、可能的結果及原因

      1. 啟動直接失敗(最常見)

      如果 JVM 配置的總內存(堆內存 + 元空間 + 直接內存等)超過了機器物理內存 + 虛擬內存(swap)的總和,操作系統會拒絕為 JVM 分配足夠的內存,導致啟動失敗,通常會報類似以下錯誤:
      • JVM 層面:Error occurred during initialization of VM Could not reserve enough space for object heap(無法預留足夠的堆內存)。
      • 操作系統層面:Linux 可能報 out of memory,Windows 可能提示 “內存不足”。
      原因:JVM 啟動時會嘗試向操作系統申請配置的內存(尤其是 -Xms 初始內存),如果系統無法滿足,直接啟動失敗。

      2. 啟動成功,但運行中崩潰或卡頓

      如果配置的內存超過物理內存,但 未超過物理內存 + 虛擬內存(swap)的總和,服務可能啟動成功,但會面臨嚴重問題:
      • 頻繁卡頓 / 性能暴跌:當 JVM 實際使用的內存超過物理內存時,操作系統會將部分內存數據寫入磁盤(swap 分區),而磁盤 IO 速度遠低于內存,導致應用響應極慢。
      • 運行中 OOM 崩潰:即使啟動時內存足夠,若運行中內存需求持續增長(如大量對象創建),超過系統實際能提供的內存(物理 + swap),會觸發 OutOfMemoryError 導致進程崩潰。
      • 被操作系統殺死:Linux 有 OOM Killer 機制,當系統內存耗盡時,會優先殺死 “內存占用高且優先級低” 的進程(如 JVM 進程),直接導致服務中斷。

      二、關鍵影響因素

      1. 操作系統虛擬內存(swap):若機器配置了 swap 分區(Linux)或頁面文件(Windows),系統會將部分磁盤空間作為 “虛擬內存” 臨時替代物理內存。若 JVM 配置的內存 ≤ 物理內存 + swap,可能啟動成功,但性能會受嚴重影響。
      2. JVM 內存參數的 “實際使用” 特性:
        • -Xmx 是 “最大堆內存”,啟動時 JVM 不會立即占用全部,而是按需增長(但會預留地址空間)。
        • 若配置的 -Xmx 很大,但應用實際運行中內存需求較小(遠低于物理內存),可能暫時正常運行(但仍有風險)。
      3. 操作系統內存分配策略:Linux 有 “內存過度分配(overcommit)” 機制,默認允許進程申請超過實際可用的內存(假設進程不會真的用完),但實際使用時若內存不足,會觸發 OOM Killer 殺進程。

      三、總結

      • 若配置的內存 > 物理內存 + swap 總和:啟動失敗,無法分配內存。
      • 若配置的內存 ≤ 物理內存 + swap 總和:可能啟動成功,但運行中會因頻繁 swap 導致性能崩潰,或被系統殺死。
      最佳實踐:JVM 總內存配置(堆 + 非堆 + 直接內存)應 ≤ 機器物理內存的 70%(避免占用過多內存影響其他進程),且絕不能超過物理內存 + swap 的總和。如果需要調整內存參數,建議先通過 free -m(Linux)或 “任務管理器”(Windows)查看機器實際可用內存。

      ---------------------------------------------------------------------------------------

      java -Xms512m -Xmx4096m -jar demo-0.0.1-SNAPSHOT.jar --server.port=8081
      java -Xms512m -Xmx4096m -jar demo-0.0.1-SNAPSHOT.jar --server.port=8082
      java -Xms4g -Xmx4g -Xmn1g \
      -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m \
      -XX:MaxDirectMemorySize=4g \
      -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/app/heapdump.hprof \
      -jar demo-0.0.1-SNAPSHOT.jar --server.port=8081

      java -Xms4g -Xmx4g -Xmn1g \
      -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m \
      -XX:MaxDirectMemorySize=4g \
      -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/app/heapdump.hprof \
      -jar demo-0.0.1-SNAPSHOT.jar --server.port=8082

      java -Xms4g -Xmx4g -Xmn1g \
      -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m \
      -XX:MaxDirectMemorySize=4g \
      -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/app/heapdump.hprof \
      -jar demo-0.0.1-SNAPSHOT.jar --server.port=8083

      java -Xms4g -Xmx4g -Xmn1g \
      -XX:MetaspaceSize=1024m -XX:MaxMetaspaceSize=2048m \
      -XX:MaxDirectMemorySize=4g \
      -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/app/heapdump.hprof \
      -jar demo-0.0.1-SNAPSHOT.jar --server.port=8084

      java -Xms20g -Xmx20g -Xmn20g \
      -XX:MetaspaceSize=20480m -XX:MaxMetaspaceSize=20480m \
      -XX:MaxDirectMemorySize=20g \
      -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/app/heapdump.hprof \
      -jar demo-0.0.1-SNAPSHOT.jar --server.port=8091

      ---------------------------------------------------------------------------------------

      java -Xms20g -Xmx20g -Xmn20g \
      > -XX:MetaspaceSize=20480m -XX:MaxMetaspaceSize=20480m \
      > -XX:MaxDirectMemorySize=20g \
      > -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/app/heapdump.hprof \
      > -jar demo-0.0.1-SNAPSHOT.jar --server.port=8091
      OpenJDK 64-Bit Server VM warning: MaxNewSize (20971520k) is equal to or greater than the entire heap (20971520k). A new max generation size of 20971008k will be used.
      OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000002c0080000, 21474312192, 0) failed; error='Cannot allocate memory' (errno=12)
      #
      # There is insufficient memory for the Java Runtime Environment to continue.
      # Native memory allocation (mmap) failed to map 21474312192 bytes for committing reserved memory.
      # An error report file with more information is saved as:

       

      posted @ 2025-10-29 16:21  hanease  閱讀(9)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 无码少妇一区二区| 天堂网av成人在线观看| 国产在线无码不卡播放| 一本一道av无码中文字幕麻豆 | 特黄三级又爽又粗又大| 江陵县| 国产在线精品欧美日韩电影| 国产综合视频精品一区二区| 一出一进一爽一粗一大视频| 成人av午夜在线观看| 国产精品无码av在线一区| 亚洲精品一区二区三区在| 国产精品久久久久久影视| 国产精品高清一区二区三区| 久久亚洲av成人一二三区| 国产精品无码无卡在线观看久 | 亚洲最大的成人网站| 国产精品一区二区AV| 一面膜上边一面膜下边视频| 亚洲精品久久久久成人2007| 日韩精品视频一区二区不卡| 国产精品自在线拍国产手机版| 国产色无码专区在线观看| 亚洲精品福利一区二区三区蜜桃| 把腿张开ji巴cao死你h| 一本无码在线观看| 亚洲熟妇色自偷自拍另类| 国产不卡在线一区二区| 精品无码国产一区二区三区AV| 免费人成视频在线观看网站| 国内精品人妻一区二区三区| 亚洲国产成人无码av在线影院 | 男女裸体影院高潮| 扒开双腿猛进入喷水高潮叫声| 亚洲中文字幕伊人久久无码| 国产极品嫩模在线观看91| 亚洲第一区二区快射影院| 熟女人妻视频| 日韩人妻中文字幕精品| 野花香视频在线观看免费高清版| 吃奶还摸下面动态图gif|