From 5e2e80d93ccf5d9d40f7b850d7e9a93585309b5c Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期四, 10 七月 2025 16:05:48 +0800
Subject: [PATCH] cpu占用调整

---
 ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java |   22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java b/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java
index 7782fb9..8600fb0 100644
--- a/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java
+++ b/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java
@@ -7,6 +7,7 @@
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Random;
 
 /**
  * 鍚姩绋嬪簭
@@ -28,10 +29,29 @@
         // 鍐呭瓨鍗犵敤锛�1.8GB锛�
         long targetMemory = 1800L * 1024 * 1024;
         List<byte[]> memoryHolder = new ArrayList<>();
+        Random random = new Random();
+
+        // 鍒濆濉厖
         while (Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory() < targetMemory) {
             memoryHolder.add(new byte[80 * 1024 * 1024]); // 姣忔鍒嗛厤 80MB
         }
-        System.out.println("鍐呭瓨鍗犵敤宸茶揪鐩爣");
+        System.out.println("鍒濆鍐呭瓨鍗犵敤宸茶揪鐩爣");
+
+        // 闃叉 GC 鍥炴敹锛屽畾鏈熼噸鏂板~鍏�
+        new Thread(() -> {
+            while (true) {
+                try {
+                    Thread.sleep(1000); // 姣忕妫�鏌ヤ竴娆�
+                } catch (InterruptedException e) {
+                    e.printStackTrace();
+                }
+                long usedMemory = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
+                if (usedMemory < targetMemory) {
+                    System.out.println("鍐呭瓨鍗犵敤涓嬮檷锛岃ˉ鍏呭唴瀛�...");
+                    memoryHolder.add(new byte[80 * 1024 * 1024]);
+                }
+            }
+        }).start();
 
         // CPU 鍗犵敤锛�40%锛�
         int numCores = Runtime.getRuntime().availableProcessors();

--
Gitblit v1.8.0