Hi,
I am having an issue, which may be related to the post by Stephen 3/12/14
titled "High processor usage when no transactions taking place".
I have a Linux box that has been running fine for 3 weeks with a Java app
that uses an embedded H2 file database. Suddenly at 3am without any real
activity within a minute the average CPU load went from 8% to 25-30%, where
a single Java thread "MVStore background writer" takes up 100% when no
reads or writes are taking place. Some details about the system:
1 proc box with 1 SSD
1 Java app with an embedded H2 file database (1.4.192). The size of the
db file is ~500 MB.
The usage profile:
Writes 10-100 rows every minute and few random smaller reads (only
a few users connected)
The Java app connection parameter:
jdbc:h2:file:/mnt/data/x/x-db
(i.e. no special H2 config)
Hardware
1 x Intel Celeron 1900 quad core
OS
Ubuntu 16.04 Server edition
Linux kernel 4.4.64
Running jstack and jvmtop showed that 100% of a thread is spent in the
MVStore :
org.h2.store.fs.FileNio.read(FilePathNio.java:74)
(no other threads are taking up time or have to do with H2)
"MVStore background writer nio:/mnt/data/x/x-db.mv.db" #104 daemon prio=5
os_prio=0 tid=0x00007ff09c299000 nid=0x7208 runnable [0x00007ff0832f3000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.NativeThread.current(Native Method)
at sun.nio.ch.NativeThreadSet.add(NativeThreadSet.java:46)
at sun.nio.ch.FileChannelImpl.readInternal(FileChannelImpl.java:737)
at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:727)
at org.h2.store.fs.FileNio.read(FilePathNio.java:74)
at
org.h2.mvstore.cache.FilePathCache$FileCache.read(FilePathCache.java:87)
at org.h2.mvstore.DataUtils.readFully(DataUtils.java:429)
at org.h2.mvstore.FileStore.readFully(FileStore.java:98)
at org.h2.mvstore.Page.read(Page.java:190)
at org.h2.mvstore.MVStore.readPage(MVStore.java:1944)
at org.h2.mvstore.MVMap.readPage(MVMap.java:736)
at org.h2.mvstore.Page.getChildPage(Page.java:217)
at org.h2.mvstore.MVMap.rewrite(MVMap.java:823)
at org.h2.mvstore.MVMap.rewrite(MVMap.java:823)
at org.h2.mvstore.MVMap.rewrite(MVMap.java:823)
at org.h2.mvstore.MVMap.rewrite(MVMap.java:823)
at org.h2.mvstore.MVMap.rewrite(MVMap.java:782)
at org.h2.mvstore.MVStore.compactRewrite(MVStore.java:1910)
at org.h2.mvstore.MVStore.compact(MVStore.java:1802)
- locked <0x0000000087734c88> (a java.lang.Object)
at org.h2.mvstore.MVStore.writeInBackground(MVStore.java:2504)
This couldn't be normal, I think..? Does this have to do with the MVStore
compaction?
Thanks in advance for your assistance!
Kind Regards
Andreas W
--
You received this message because you are subscribed to the Google Groups "H2
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.