Hentai@Home 调优与运行笔记
2025年8月22日更新
官方版 HH 可以无痛转换到 rust 版,并且效率提升不少
会导致健康度比较低,但是这是因为处理任务比较多的原因,会有更高概率分配块块
HH 人比较值得使用吧(大概)
网上有很多关于 Hentai@Home(后文统一简称 HH) 的运行指南,写的好的比比皆是,但是似乎都没有写使用 Jvm 参数的。 于是本人臆想了一下,既然是运行 Jar 那么使用 Jvm 参数优化当然是没问题的。
所以有了下面这个东西(贫穷的我给我的 2C4G 小水管编的参数,AI 功不可没,抄作业的话还请按需调整)
JAVA_OPTS="-server \\
-Xms1024m \\
-Xmx1024m \\
-XX:MaxDirectMemorySize=256m \\
-XX:MetaspaceSize=192m \\
-XX:MaxMetaspaceSize=192m \\
-XX:ReservedCodeCacheSize=192m \\
-XX:ParallelGCThreads=2 \\
-XX:ConcGCThreads=1 \\
-Xss512k \\
-Dnetworkaddress.cache.ttl=10 \\
-Dsun.net.client.defaultConnectTimeout=10000 \\
-Dsun.net.client.defaultReadTimeout=10000 \\
-Djava.awt.headless=true \\
-XX:+UnlockExperimentalVMOptions \\
-XX:+UseG1GC \\
-XX:MaxGCPauseMillis=200 \\
-XX:+DisableExplicitGC \\
-XX:+AlwaysPreTouch \\
-XX:AutoBoxCacheMax=20000 \\
-XX:-OmitStackTraceInFastThrow \\
-XX:ErrorFile=/var/log/jvm/hs_err_%p.log \\
-XX:+HeapDumpOnOutOfMemoryError \\
-XX:HeapDumpPath=/var/log/jvm/ \\
-Xlog:gc*=info:file=/var/log/jvm/gc_%p-%t.log:time,pid,tid,level,tags:filecount=10,filesize=100M \\
-XX:+UseStringDeduplication"
以及抄作业记得再执行一下命令创建日志目录
mkidr -p /var/log/jvm/gc_Hentai-
使用高版本的 JDK 也可以带来不错的性能,发行版之间亦有性能差异,除此之外还有各种奇奇怪怪的玄学优化,不过加钱加硬盘加带宽才是正道
另外也可以运行非官方的 Rust 版 HH(万物皆可 Rust 重写),应该会有不错的性能吧
对于专业户还可以用 Prometheus 实时每天监视
https://github.com/mixa3607/EH_metrics (Docker 爬页面版)
https://github.com/mocukie/hath-metrics-workers (让 CF 带善人给你抓数据)
https://github.com/mixa3607/EH_hath?tab=readme-ov-file (带有 Prometheus 指标的 H@H 客户端)
参考文献:
[1] D瓜哥. 生产环境中 Java 21 启动参数[Z]. “地瓜哥”博客网, 2024
[2] VeroFess. 一份面向Linux下高版本Java的Minecraft参数优化教程[Z]. 0xBACB, 2022
[3] TCreopargh. 一个【效果明显】的Java 8优化JVM参数[Z]. MC百科, 2021
[4] Yukiriri. OMCF[Z]. Github, 2024 [5] 天空Blond. 【歪门邪道】针对Minecraft的JVM调优[Z]. 天空 Blond, 2022