GraalVM Native Image 的进程能否被 jps 看到?
感谢 dreamlike_ocean ( https://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 生态里面的官方英文文档以及中文文档作为语料,按照内容段交叉拆分,进行微调,用于字幕翻译。