Start a new topic

CPU at 25%+ consistently

[This topic is migrated from our old forums. The original author name has been removed]

Hi, Recently I have noticed my DBVis v9.0.2 (Windows 7 64-bit - Intel i7 CPU) process consuming 25% of CPU all the time. I searched through the forums and found this : http://www.dbvis.com/forum/thread.jspa?messageID=7142. Looks like the same issue but from a long time ago on a much older version. When I go to Windows task manager I see this : *Image Name PID User Name CPU memory (Private) Description* *dbvis xxxx xxxxxxxxxx 25 257,512K DbVisualizer - The Universal Database Tool* It goes up & down 25% - 30% - 33%, etc but does not drop. I have no monitors running and have one open connection. Does anyone else have this issue ? Thanks, Steve.

[This reply is migrated from our old forums. The original author name has been removed]

Re: CPU at 25%+ consistently
Steve Do you have more than one screen? I have 4 screens and what I noticed is, when I have any of the dbVis windows on my Primary monitor, the response is super slow and cpu usage jumps to 33-46%... as soon as I move the window off of the Primary monitor, the % drops to normal... Weird! (WindowsXP) Edited by: AlexML on Apr 4, 2013 7:29 AM
[This reply is migrated from our old forums. The original author name has been removed]

Re: CPU at 25%+ consistently
Hey Alex, I have 2 screens hanging off my laptop and my laptop screen is closed in a docking station. However, it doesn't actually matter what screen i run DBVis in, the CPU activity is still 25%. I just noticed now that even when I have no connections open, the CPU activity is the same... I tried having a look at what the Java process is doing so I used a tool I found called *jvmtop* and got the following result: JvmTop 0.3 alpha (expect bugs) amd64, 4 cpus, Windows 7 6.1 http://code.google.com/p/jvmtop PID 7540: C:\Apps\DbVisualizer-9.0.2\dbvis.exe ARGS: VMARGS: -Dexe4j.semaphoreName=Local\c:_apps_dbvisualizer-9.0.2_dbvis.exe [...] VM: Sun Microsystems Inc. Java HotSpot(TM) 64-Bit Server VM 1.6.0_35 UP: 0:28m #THR: 22 #THRPEAK: 22 #THRCREATED: 41 USER: stevebarnes CPU: 25.36% GC: 0.00% HEAP: 76m / 455m NONHEAP: 50m / 240m Note: Only top 10 threads (according cpu load) are shown! TID NAME STATE CPU TOTALCPU BLOCKEDBY *40 DbVisAutoSaver RUNNABLE 97.33% 94.77%* 48 RMI TCP Connection(6)-10.16.95 RUNNABLE 5.56% 0.03% 49 JMX server connection timeout TIMED_WAITING 0.00% 0.00% 47 RMI TCP Connection(5)-10.16.95 RUNNABLE 0.00% 0.00% 44 JMX server connection timeout TIMED_WAITING 0.00% 0.01% 43 RMI Scheduler(0) TIMED_WAITING 0.00% 0.00% 42 RMI TCP Connection(4)-10.16.95 RUNNABLE 0.00% 0.29% 41 RMI TCP Accept-0 RUNNABLE 0.00% 0.01% 29 AWT-EventQueue-1 WAITING 0.00% 1.47% 28 DbVisEventQueue TIMED_WAITING 0.00% 0.01% This shows that DbVisAutoSaver is using 97% of 25% of my CPU... Can anyone tell me what this is ? And maybe why it is using so much CPU... ? Thanks again, Steve.
[This reply is migrated from our old forums.]

Re: CPU at 25%+ consistently
Hi Steve and Alex, Thanks for reporting this. We will have a look at the multiscreen case in more detail later. For now, I can say that the DbVisAutoSaver thread identified as the main consumer is the thread that automatically saves modified SQL Commander content. We have tweaked it a bit in the maintenance releases so I suggest that you first upgrade to 9.0.5 and see if you see the same things. DbVisualizer 9.0 always runs the auto-saver every 30 seconds, but unless there are modified SQL Commander editors, it doesn't do much and shouldn't use a lot of CPU. It is, however, possible that the GUI code that locates the editors to see if they are modified for some reason consumes CPU when using multiple screens. As stated in the older thread, the only other things that can run when there is no interaction are active monitors. Also note that it is kind of tricky to say what should be considered harmful CPU usage: 100% can be ideal if no otter application needs the CPU? With a single CPU, there is always one thread that at some point uses 100% of then CPU, so how the CPU monitoring tool calculates the usage is also an interesting parameter. Best Regards, Hans
[This reply is migrated from our old forums. The original author name has been removed]

Re: CPU at 25%+ consistently
Hi Hans, Thanks for the info... I upgraded just now to v9.0.5 and I am still seeing 25% CPU usage when doing nothing. However, the thread doing all the work is now *AWT-EventQueue-1* not *DbVisAutoSaver* which is better... However regarding your statement about CPU usage. I would consider it not good practice for any application to use >1-2% CPU and not actually be doing anything useful. JvmTop 0.3 alpha (expect bugs) amd64, 4 cpus, Windows 7 6.1 http://code.google.com/p/jvmtop PID 19108: C:\Apps\DbVisualiser-x64_9_0_5\dbvis.exe ARGS: VMARGS: -Dexe4j.semaphoreName=Local\c:_apps_dbvisualiser-x64_9_0_5_dbvis.[...] VM: Sun Microsystems Inc. Java HotSpot(TM) 64-Bit Server VM 1.6.0_27 UP: 0:49m #THR: 24 #THRPEAK: 28 #THRCREATED: 55 USER: stevebarnes CPU: 26.23% GC: 0.00% HEAP: 80m / 455m NONHEAP: 59m / 240m Note: Only top 10 threads (according cpu load) are shown! TID NAME STATE CPU TOTALCPU BLOCKEDBY *33 AWT-EventQueue-1 RUNNABLE 97.94% 96.04%* 62 RMI TCP Connection(48)-10.16.9 RUNNABLE 2.80% 0.08% 63 JMX server connection timeout RUNNABLE 0.00% 0.00% 56 ExecutorRunner-pool-3-thread-1 TIMED_WAITING 0.00% 0.02% 55 Image Animator 3 TIMED_WAITING 0.00% 0.00% 51 DbVisAutoSaver TIMED_WAITING 0.00% 0.00% 46 SwingWorker-pool-2-thread-1 WAITING 0.00% 0.19% 32 DbVisEventQueue TIMED_WAITING 0.00% 0.17% 30 Timer-0 WAITING 0.00% 0.00% 24 Swing-Shell WAITING 0.00% 1.46% -Steve.
[This reply is migrated from our old forums.]

Re: CPU at 25%+ consistently
Steve, It would be really interesting to see the full thread dump of the DbVisualizer JavaVM to better understand what the various threads are doing when CPU is high. If you have the JDK (Java Developers Kit) installed on your system, there is the jstack utility bundled with it: http://docs.oracle.com/javase/7/docs/technotes/tools/share/jstack.html It will produce the dump I am referring to. Please post it here. Regards Roger
[This reply is migrated from our old forums. The original author name has been removed]

Re: CPU at 25%+ consistently
Hi Roger, Apologies I have not checked back here in a while. I have since updated to dbvis 9.0.6 and am going to run jstack on that process. I will hopefully get to it in the next few days. -Steve.
[This reply is migrated from our old forums. The original author name has been removed]

Re: CPU at 25%+ consistently
Hi, I have finally come back to update this ticket... I ham now running on v9.1.5 and this issue has not happened in some time across a few minor versions, but I am unsure which one fixed it... I would now consider this issue gone/fixed..!! Thanks, Steve.
[This reply is migrated from our old forums. The original author name has been removed]

Re: CPU at 25%+ consistently
This may or may not be the same issue, but I'm running 9.1.5 on openjdk-1.60, and I'm seeing a constant usage of 3 full CPUs (top showing >300% usage). I'm not sure when this started, but I don't recall it always being like this, nor what could have changed. I have all tabs closed. I've tried running the jvmtop tool mentioned in an earlier post, but doesn't appear to work with my JDK installation (it can't find tools.jar). I do have multiple monitors. Moving the window from one monitor to another does not appear to have an impact.
[This reply is migrated from our old forums.]

Re: CPU at 25%+ consistently
Hi, What OS are you using? Are you seeing the CPU load in the OS activity monitor or similar tool? I suggest you try with the official Oracle Java 6 VM or even Java 7 to check whether it slow down the CPU. Most probably the jvmtop is available with these. As far as we know there are no open issues related to heavy load generated by DbVisualizer alone. Regards Roger
[This reply is migrated from our old forums. The original author name has been removed]

Re: CPU at 25%+ consistently
I'm using openSUSE 12.1 (kernel 3.1.10-1). I'm seeing the CPU load via simple "top". I was able to fix JAVA_HOME on openSUSE so that I could get jvmtop running. It's showing the following: PID 23000: com.install4j.runtime.launcher.Launcher ARGS: launch com.onseven.dbvis.DbVisualizerGUI true false true true fal[...] VMARGS: -Dinstall4j.jvmDir=/usr -Dexe4j.moduleName=/home/ftobin/src/dbvis[...] VM: Sun Microsystems Inc. OpenJDK 64-Bit Server VM 1.6.0_27 UP: 21: 3m #THR: 21 #THRPEAK: 22 #THRCREATED: 93 USER: ftobin GC-Time: 0: 1m #GC-Runs: 18 #TotalLoadedClasses: 8025 CPU: 32.58% GC: 0.00% HEAP: 82m / 455m NONHEAP: 68m / 240m TID NAME STATE CPU TOTALCPU BLOCKEDBY 20 TimerQueue TIMED_WAITING 49.82% 19.10% 28 DbVisEventQueue TIMED_WAITING 49.65% 19.97% 85 Image Animator 0 TIMED_WAITING 47.23% 1.30% 17 SyntheticaCleanerThread TIMED_WAITING 15.82% 18.43% 43 Timer-2 TIMED_WAITING 3.12% 1.28% 48 DbVisAutoSaver TIMED_WAITING 1.70% 1.30% 96 RMI TCP Connection(13)-172.30. RUNNABLE 0.17% 0.00% 29 AWT-EventQueue-1 WAITING 0.10% 0.02% 99 JMX server connection timeout TIMED_WAITING 0.00% 0.00% 97 RMI Scheduler(0) TIMED_WAITING 0.00% 0.00%
[This reply is migrated from our old forums. The original author name has been removed]

Re: CPU at 25%+ consistently
I've upgraded to OpenJDK 1.7 with no improvement. Similar problem threads: TID NAME STATE CPU TOTALCPU BLOCKEDBY 28 DbVisEventQueue RUNNABLE 58.38% 18.65% 17 SyntheticaCleanerThread TIMED_WAITING 50.79% 14.27% 20 TimerQueue TIMED_WAITING 49.39% 17.89% Is there a debug mode I can be in that would provide more information? Edited by: ftobin on Jan 28, 2014 12:25 AM
[This reply is migrated from our old forums.]

Re: CPU at 25%+ consistently
Hi, Thanks for the details. The monitor info show that all Java VM threads are waiting still the CPU info show something else. What does "top" or similar monitoring tool say? To enable debug of DbVisualizer open Tools->Debug Window and check "Debug DbVisualizer". Do also check "Debug JDBC Driver". Regards Roger
[This reply is migrated from our old forums. The original author name has been removed]

Re: CPU at 25%+ consistently
top, after restarting, with thread-breakdown: (the same as before restarting): PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 8742 ftobin 39 19 3298m 349m 25m R 64 8.8 1:29.06 java 8759 ftobin 39 19 3298m 349m 25m R 64 8.8 1:21.35 java 8776 ftobin 39 19 3298m 349m 25m S 64 8.8 1:25.41 java 8735 ftobin 39 19 3298m 349m 25m R 62 8.8 1:26.39 java 8751 ftobin 39 19 3298m 349m 25m S 62 8.8 1:06.18 java 8816 ftobin 39 19 3298m 349m 25m S 55 8.8 1:12.13 java It's consistent. The only information in the debug window after restarting (and still having the CPU consumption issues): 12:27:16 [DEBUG AWT-EventQueue-0 DbVisualizerGUI.initialize] Init time: 12.817 12:27:19 [DEBUG AWT-EventQueue-0 T.?] AutoSaver started. Interval: 30 sec strace -p on each thread shows the same syscalls happening quickly: futex(0x7fcfd03ce028, FUTEX_WAKE_PRIVATE, 1) = 0 futex(0x7fcfd03ce054, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, {1391016850, 472468000}, ffffffff) = -1 ETIMEDOUT (Connection timed out) futex(0x7fcfd03ce028, FUTEX_WAKE_PRIVATE, 1) = 0 futex(0x7fcfd03ce054, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, {1391016850, 472546000}, ffffffff) = -1 ETIMEDOUT (Connection timed out) futex(0x7fcfd03ce028, FUTEX_WAKE_PRIVATE, 1) = 0 futex(0x7fcfd03ce054, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, {1391016850, 472598000}, ffffffff) = -1 ETIMEDOUT (Connection timed out) futex(0x7fcfd03ce028, FUTEX_WAKE_PRIVATE, 1) = 0 futex(0x7fcfd03ce054, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, {1391016850, 472669000}, ffffffff) = -1 ETIMEDOUT (Connection timed out) futex(0x7fcfd03ce028, FUTEX_WAKE_PRIVATE, 1) = 0
[This reply is migrated from our old forums.]

Re: CPU at 25%+ consistently
Hi, Thanks for the details. I have no good idea why the Java VM is generating load. All threads in the VM are waiting for requests and there is nothing in the monitors you've sent that is alarming except for the CPU load. I cannot see that you have tried the official Java versions from Oracle. That may be worth a try. Regards Roger