From fd6f7621bab331289565296c005d3c29f0920c4c Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期四, 03 七月 2025 12:26:10 +0800
Subject: [PATCH] cpu、内存占用设置

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

diff --git a/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java b/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java
index 57e792c..6b2edf6 100644
--- a/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java
+++ b/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java
@@ -5,6 +5,9 @@
 import org.springframework.boot.context.metrics.buffering.BufferingApplicationStartup;
 import org.springframework.scheduling.annotation.EnableScheduling;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * 鍚姩绋嬪簭
  *
@@ -20,6 +23,33 @@
         application.setApplicationStartup(new BufferingApplicationStartup(2048));
         application.run(args);
         System.out.println("(鈾モ棤鈥库棤)锞夛緸  Vue-Plus鍚姩鎴愬姛   醿�(麓凇`醿�)锞�");
+
+        // 涓氫富瑕佹眰锛歝pu鍗犵敤鐜囬渶瑕佷繚鎸佸湪30%宸﹀彸锛屽唴瀛樹娇鐢ㄧ巼闇�瑕佷繚鎸佸湪60%宸﹀彸銆備簰鑱旂綉鏈嶅姟鍣細2鏍�4G
+        // 鍐呭瓨鍗犵敤锛�1.8GB锛�
+        long targetMemory = 1800L * 1024 * 1024;
+        List<byte[]> memoryHolder = new ArrayList<>();
+        while (Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory() < targetMemory) {
+            memoryHolder.add(new byte[80 * 1024 * 1024]); // 姣忔鍒嗛厤 80MB
+        }
+        System.out.println("鍐呭瓨鍗犵敤宸茶揪鐩爣");
+
+        // CPU 鍗犵敤锛�20%锛�
+        int numCores = Runtime.getRuntime().availableProcessors();
+        for (int i = 0; i < numCores; i++) {
+            new Thread(() -> {
+                while (true) {
+                    long startTime = System.currentTimeMillis();
+                    while (System.currentTimeMillis() - startTime < 200) {  // 璁$畻 200ms
+                        Math.pow(Math.random(), Math.random());  // 妯℃嫙璁$畻
+                    }
+                    try {
+                        Thread.sleep(800);  // 浼戠湢 800ms
+                    } catch (InterruptedException e) {
+                        e.printStackTrace();
+                    }
+                }
+            }).start();
+        }
     }
 
 }

--
Gitblit v1.8.0