以下来自本人拉的一个关于 Java 技术的讨论群。关注公众号:hashcon,私信进群拉你
GraalVM Native Image 的进程能否被 jps 看到?
感谢 dreamlike_ocean ( space.bilibili.com/8227104 )指正
如果编译参数里面开启了 jstat,jmx 等特性(--enable-monitoring=jmxserver,jmxclient,jvmstat
),就能看到,没有开启就看不到。
当前对于 GraalVM 与 JVM 的使用
- 针对 Lambda 类型任务(例如不频繁的但是处理数据比较多的定时任务,如每周报表,以及临时的数据导出任务),使用 GraalVM Native Image:
- 这种任务不适合放在常驻的微服务,浪费资源:
- 微服务要按照这个定时任务的标准设计内存和 CPU,很长时间是不用这么多的。
- 要节约,并且放在常驻的微服务,需要定时任务启动前,以更高的内存和 CPU 重启微服务,定时任务结束后回复原来的参数重启微服务。
- 适合放在 k8s cronjob 或者 AWS Lambda 这种服务,但是这些服务都对启动时间有很高有求,需要在一定时间内启动好并告诉容器就绪了。
- 这种的适合 GraalVM Native Image,一是对启动时间有要求,二是一般依赖的库比常驻微服务简单很多,改造起来简单很多。
- 这种任务不适合放在常驻的微服务,浪费资源:
- 针对常驻的微服务,还是使用 JVM:
- 针对涉及很多存储 io 连接的微服务,先不要使用 CRaC 机制,先只使用 CDS 加速类加载,然后可以考虑用 Graal JIT 替代 C2 编译器。
- 针对没有很多存储 io 连接的微服务,使用 CRaC,例如 web 引擎微服务,网关微服务,广告微服务(大部分访问在本地缓存),这些正好是对于流量更敏感的微服务,需要在流量到来时,快速扩容并启动。
个人简介:个人业余研究了 AI LLM 微调与 RAG,目前成果是微调了三个模型:
- 一个模型是基于 whisper 模型的微调,使用我原来做的精翻的视频按照语句段落切分的片段,并尝试按照方言类别,以及技术类别分别尝试微调的成果。用于视频字幕识别。
- 一个模型是基于 Mistral Large 的模型的微调,识别提取视频课件的片段,辅以实际的课件文字进行识别微调。用于识别课件的片段。
- 最后一个模型是基于 Claude 3 的模型微调,使用我之前制作的翻译字幕,与 AWS、Go 社区、CNCF 生态里面的官方英文文档以及中文文档作为语料,按照内容段交叉拆分,进行微调,用于字幕翻译。
目前,准确率已经非常高了。大家如果有想要我制作的视频,欢迎关注留言。
本人也是开源代码爱好者,贡献过很多项目的源码(Mycat 和 Java JFRUnit 的核心贡献者,贡献过 OpenJDK,Spring,Spring Cloud,Apache Bookkeeper,Apache RocketMQ,Ribbon,Lettuce、 SocketIO、Langchain4j 等项目 ),同时也是深度技术迷,编写过很多硬核的原理分析系列(JVM)。本人也有一个 Java 技术交流群,感兴趣的欢迎关注。
另外,一如即往的是,全网的所有收益,都会捐赠给希望工程,坚持靠爱与兴趣发电。
本文转载自: 掘金