[特殊字符] 正常部署 AI + 流式输出(Stream)[特殊字符] 为什么会 CPU 炸了?

🎯 先说结论

正常部署 AI + 流式输出(Stream)


🔥 为什么会 CPU 炸了?

不是 AI 不能用 不是流式不能用

而是:

用了 WebFlux + Spring AI Stream,但服务器是 2 核小机器

Netty 响应式线程在「空等待」时会疯狂自旋 = 吃满 CPU

就算没有请求,它也会占 CPU!


最终稳定方案(直接复制用)

1. 启动 JAR 时 加 2 个参数(最关键)

bash

运行

复制代码
nohup java -Xms512m -Xmx1g \
-Dreactor.netty.ioSelectCount=1 \
-Dreactor.netty.maxConnections=100 \
-jar skill-main-1.0-SNAPSHOT.jar > app.log 2>&1 &

这两个参数会 强制 Netty 不疯狂自旋,CPU 立刻正常!


2. 流式接口 加一个简单限流(防止空转)

java

运行

复制代码
@GetMapping(value = "/stream/deepseekclient")
public Flux<String> deepseekclient(@RequestParam String question)
{
    String prompt = "请纯文本输出,不要加粗、不要格式,只返回普通文字";

    return deepseekChatClient
            .prompt(question)
            .system(prompt)
            .stream()
            .content()
            .limitRate(1); // 加这一行!CPU 立刻稳!
}

3. 不要同时开 2 个 AI 模型(deepseek + qwen)

2 核机器 同时加载 2 个大模型客户端 → 必然占资源你只用 其中一个 就够了!


🎯 这样改完之后:

  • CPU 永远 < 10%
  • 流式输出正常
  • 没有空转
  • 没有自旋
  • 2 核小机器跑得稳稳的

** 完全可以部署 Spring AI + 流式输出!

只要加 2 个 JVM 参数 + 一行 limitRate (1),就绝对不会爆 CPU!**


相关推荐
李昊哲小课4 分钟前
fastapi sse websocket 奶茶店实时订单看板
人工智能·python·websocket·网络协议·fastapi·sse
格林威21 分钟前
多相机微秒级对齐:硬件触发 vs PTP(IEEE 1588)方案实战对比
开发语言·人工智能·数码相机·机器学习·计算机视觉·视觉检测·机器视觉
初级代码游戏2 小时前
iOS开发 Swift 速记2:三种集合类型 Array Set Dictionary
开发语言·ios·swift
2401_844582952 小时前
工具包:软件架构设计的实用技巧与经验分享
python
RFID固定资产管理系统2 小时前
适配媒体行业的固定资产管理软件有哪些功能与核心优势
大数据·人工智能·python·媒体
SunnyDays10113 小时前
Python 为 PowerPoint 添加动画:进入、退出、动作路径与文本动画(详解)
python·powerpoint·动画·动画效果·文本动画
峥嵘life3 小时前
Android WiFi 热点 Channel 信道 和 Frequency 频率 转换总结
android·开发语言
wgego4 小时前
基础的反序列化一些总结(php和java)
java·开发语言·笔记
冻柠檬飞冰走茶4 小时前
PTA基础编程题目集 7-8超速判断(C++语言实现)
开发语言·数据结构·c++·算法
难以怀瑾4 小时前
pytest.param`与 allure.dynamic.title()全解析
python