You can use
jstat -gcutil pid 2000
to print the GC statistics every 2 seconds,
http://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jstat.html
It the long pause is from GC, the columns FGCT/FGC values would be large.
If you think it's a swap issue, you may want to use
vmstat 1 1
I am intrigued by this article, as the problem sounds the same as mine:
http://corner.squareup.com/2014/09/logging-can-be-tricky.html
No significant amount of resources appeared to be in use — disk I/O,
network I/O, CPU, and memory all looked fairly tame. Furthermore, the bulk
of queries being
I'm guessing that strace is showing me userland threads? When I quit strace
I see:
^CProcess 19363 detached
Process 19364 detached
Process 19365 detached
Process 19366 detached
Process 19367 detached
Process 19368 detached
Process 19369 detached
Process 19370 detached
Process 19371 detached
If you turn on verbose gc for the JVM you could at least rule out GC pauses.
Hmm, exactly how do you route the requests through the apache server? It
almost sounds like your applikation is restarted every now and then, iirc
Apache only servers a limited amount of requests per server thread.
If
GC would be the first suspect, but then it could also be combined with a
swap issue, or a JVM bug.
Have a look at this article, which ends with a concrete list of things
to do:
https://blogs.oracle.com/poonam/entry/troubleshooting_long_gc_pauses
--
You received this message because you are
Use the jvisualvm tool that comes with the jdk- you should be able to
connect to the clojure process.
Looking at the memory usage graphs, and if the heap size is banging against
the max heap size, then you might just be using too small a heap size - try
upping it.
You can also install the
1. Which API calls pause? If only certain calls pause, then probably you
have something
specific to suspect. Try adding a dummy REST call - see if that call
pauses
while others do.
I will add a dummy REST call, although this pause does not seem specific to
a particular API call.
2. Is
Hmm, exactly how do you route the requests through the apache server? It
almost sounds like your applikation is restarted every now and then, iirc
Apache only servers a limited amount of requests per server thread.
Interesting if true, but I assume there would be an error if 2 instances of
If this somehow started a new JVM per apache thread things would go
strange. What
does $ps ax --forest say?
That is a good thought, but I only see it once.
On Monday, September 15, 2014 2:45:13 AM UTC-4, Linus Ericsson wrote:
If you turn on verbose gc for the JVM you could at least
Okay, I will dig into jvisualvm. Thanks.
On Monday, September 15, 2014 5:53:34 AM UTC-4, David Powell wrote:
Use the jvisualvm tool that comes with the jdk- you should be able to
connect to the clojure process.
Looking at the memory usage graphs, and if the heap size is banging
against
I don't have any experience configuring Clojure apps on the JVM, yet, but
it may be that increasing the RAM on the server does not increase the RAM
allocated to the JVM instance Clojure is running on.
Aria Media Sagl
Via Rompada 40
6987 Caslano
Switzerland
+41 (0)91 600 9601
+41 (0)76 303 4477
I have an embarrassing problem. I convinced my boss that I could use
Clojure to build a RESTful API. I was successful in so far as that went,
but now I face the issue that every once in a while, the program pauses,
for a painfully long time -- sometimes 30 seconds, which causes some
requests
Few thing to consider:
1. Which API calls pause? If only certain calls pause, then probably you
have something specific to suspect. Try adding a dummy REST call - see if
that call pauses while others do.
2. Is any of your services running on a t1.micro or a burst-oriented EC2
instance on AWS?
13 matches
Mail list logo