This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-12-15
Channels
- # adventofcode (121)
- # bangalore-clj (5)
- # beginners (46)
- # boot-dev (9)
- # cider (20)
- # cljs-dev (7)
- # cljsrn (1)
- # clojure (341)
- # clojure-austin (7)
- # clojure-greece (144)
- # clojure-india (3)
- # clojure-italy (5)
- # clojure-spain (1)
- # clojure-spec (34)
- # clojure-sweden (3)
- # clojure-uk (90)
- # clojurescript (24)
- # core-async (1)
- # core-logic (7)
- # cursive (108)
- # datascript (2)
- # datomic (39)
- # events (1)
- # fulcro (225)
- # graphql (8)
- # hoplon (86)
- # instaparse (12)
- # jobs-discuss (2)
- # jvm (4)
- # keechma (1)
- # lein-figwheel (2)
- # leiningen (12)
- # off-topic (26)
- # onyx (35)
- # other-languages (1)
- # pedestal (3)
- # planck (11)
- # re-frame (12)
- # reagent (12)
- # reitit (5)
- # spacemacs (48)
- # specter (29)
- # sql (2)
- # test-check (1)
- # unrepl (71)
Got a question about JVM GC, hoping somebody has seen this:
I have a clojure core.async event processing websocket service, currently processing in the 10s of thousands of events per second. It's accumulating memory in the old gen, and the other day crashed on an OOM.
However, if when the memory usage is high, I inspect the heap via jmap -hist:live
or generate a xprof heap dump via jmap -dump:live
, the old gen usage is cleaned up and the app continues along normally.
So, I'm confused, because if all it takes is an old gen GC, I don't understand why it ran out of memory entirely before.
Other details:
• The only GC or heap JVM args I specify are to increase the max heap size and pre-allocate it -Xmx6g -Xms6g
• jmap -heap
shows I'm using the default Parallel GC with 8 threads