我在服务器的git仓库中直接使用clojure CLI运行我的clojure应用。我遇到了一个问题,在虚拟服务器上启动需要大约5-25分钟,在我的笔记本电脑上大约需要1分钟。在这段时间里,CPU使用几乎为零,4GB RAM的使用也很少。我怀疑这是一种锁定条件。这似乎与依赖关系有关,因为我记不得以前做过这件事。有哪些方法可以诊断出问题所在?
$ time clojure -A:server -e "(require 'riverdb.server)"
WARNING: requiring-resolve already refers to: #'clojure.core/requiring-resolve in namespace: datomic.common, being replaced by: #'datomic.common/requiring-resolve
real 24m49.555s
user 1m58.976s
sys 0m3.672s
我尝试了 https://clojure.org/guides/dev_startup_time 中的解决方案,我觉得有些帮助,但我多次运行时延迟差异很大。
$ time clojure -A:dev:server -e "(require 'riverdb.server)"
real 5m19.167s
user 0m29.084s
sys 0m1.724s
$ time clojure -A:dev:server -e "(require 'riverdb.server)"
real 19m53.558s
user 0m31.972s
sys 0m1.988s