#1
|
|||
|
|||
[Synology] High CPU load and update problems due to hashing
Hi everybody.
[Edit#2] Problem solved! The default Java Synology package has very poor performance. This can be solved by installing the Oracle Java SE Development Kit package. Quote:
I lately updated Java on my Synology to Java8 and updated JD2 to the latest version. Previously I was using GhostAWT due to the fact that the old Java package did not have the neccessary libs in it. Since then I experience serious performance issues with JD2 on my NAS. First I could not use My.JDownloader because the GUI simply was not responding. It took ages until the UI reacted but downloads were still very slow and problematic. My NAS was constantly at 100% CPU. After analyzing the issue with a Java profiler (YourKit) I found out that this was due to the file hashing that is done. After disabling the file hashing in the options, it became a bit better and I was able to use JD again. Today I restarted JD due to an update and I could not see it after 15min in My.JDownloader. When I checked again it was still downloading updates and the CPU load was at 100%. So I fired up again the profiler and I could see that also the update package was being hashed. Here a screenshot of the profiling result: As you see: very slow. Does anybody else have the same issue? Is there a way of improving the hashing performance? Maybe the devs can look into the hashing performance. [Edit#1] I did some performance analysis on the SHA256 generation and saw that the MessageDigest is really that slow. Hashing the JDownloader.jar the way it is done in the org.appwork.updatesys.transport.exchange.JarSignature.getContentSHA256() takes 200'000ms! Testwise I took over the Sha256 class from the **External links are only visible to Support Staff**GNU Classpath and it took only 36'908ms to hash the file. Of course this is still a lot, on my Windows Machine (of course more powerful) it takes 184ms to hash the same file with the original source. Looks like there is something really wrong with the JRE package for Synology. This is really annoying. Can you maybe consider to disable hashing/signature check for the update process? - Enqueue Last edited by Jiaz; 07.11.2016 at 09:40. |
#2
|
||||
|
||||
Please upgrade to use Oracle JVM/install Oracle JVM. Synology installs by default the ZeroVM JVM which is 80-100 times slower because it does not bring any JIT-Compiler. It is a interpret only JVM.
__________________
JD-Dev & Server-Admin |
#3
|
||||
|
||||
Also just for your information. JDownloader does not require GhostAWT!
__________________
JD-Dev & Server-Admin |
#4
|
|||
|
|||
Quote:
Quote:
Now with the new Java8 package I can run JD without GhostAWT. Last edited by raztoki; 13.11.2016 at 23:09. |
#5
|
||||
|
||||
Thanks for the feedback!
JDownloader does not require a head(ghostawt) since more than 2-3 years
__________________
JD-Dev & Server-Admin |
Thread Tools | |
Display Modes | |
|
|