I experienced a DRAMATIC reduction in load - I mean from around 1.0 to down to about 0.25 ! All I did was the following and then restarted ZM from the console.
wget http://cetus.sakura.ne.jp/softlab/jpeg-x86simd/sources/jpegsrc-6b-x86simd-1.02.tar.gz
tar xzvf jpegsrc-6b-x86simd-1.02.tar.gz
wget http://internap.dl.sourceforge.net/sourceforge/nasm/nasm-2.02.tar.gz
tar -xvf nasm-2.02.tar.gz
cd nasm-2.02
Install some developer libraries and then compile:
I followed all the steps for the install but the cpu load didn't decrease, which led me to believe that the libs weren't installed. I looked again on the webpage with the source and there is a exec patch for the library - seems there were some modifications in january. Only after i applied the patch it worked like it should. Hope it helps someone.
Could somebody please explain in simple terms (to a Linux newbie) how to replace these JPEG libraries on a ZMLiveCD 1.22 hard disk installation?
At this point, I've got a folder at /home/guest/jpeg-6bx/.libs/ that contains the following files:
cjpeg
djpeg
jpegtran
libjpeg.la
libjpeg.lai
libjpeg.so
libjpeg.so.62
libjpeg.so.62.1.0
I don't know what to do with them. Do they go under /lib/ or /usr/lib/? Do they all go there or just some of them? What's the best way to put them there (konsole?)?
In some ways I wish that there was a version of ZoneMinder for Windows, as I could do stuff like this in a matter of minutes, but I keep telling myself that I will learn how to use Linux, eventually, and the system has been running 24/7 for over a year and a half without crashing once.
It's an ancient Pentium III 650MHz (with 768MB RAM), so I'd like to squeeze every bit of juice out of that processor, even though it appears to run just fine.
I'm tempted to move to a Ubuntu 8.04 based system but don't know if it's worth mucking about with it when it's working. Mandriva 2007.0 is starting to become a pain in the arse with dependencies.
we use ubuntu server with no issues, 12 cameras at 10-15fps. dont install any gui, if youre interested in saving cycles. The posts earlier in the thread lay out exactly how to do this; just read them and apply them to your distro. it's spelled out really clearly - just be patient and remember it's just a matter of pressing the right buttons in the right order.
Worked for me too, the load on Q6700 2.66GHz went down from 1.0 to 0.33 (1.0 is 25% load on quad core). I needed the patch as per the above post on FC8:
akmoller wrote:......on the webpage with the source and there is a exec patch for the library - seems there were some modifications in january. Only after i applied the patch it worked like it should. Hope it helps someone.
I don't know what to do with them. Do they go under /lib/ or /usr/lib/? Do they all go there or just some of them? What's the best way to put them there (konsole?)?
In some ways I wish that there was a version of ZoneMinder for Windows, as I could do stuff like this in a matter of minutes, but I keep telling myself that I will learn how to use Linux, eventually, and the system has been running 24/7 for over a year and a half without crashing on
aptitude install nasm
cd /usr/src
wget http://cetus.sakura.ne.jp/softlab/jpeg-x86simd/sources/jpegsrc-6b-x86simd-1.02.tar.gz
tar xzvf jpegsrc-6b-x86simd-1.02.tar.gz
cd jpeg-6bx
./configure enable-shared
make
make install
ldconfig
So, somewhere in the upgrade from Ubuntu 8.0.4 and Zoneminder 1.24.1 to U-9.10 and ZM 1.24.2, something whined at me about wanting libjpeg version 7, so I went ahead and used it. My system load was horrible, so I dropped the venerable old SIMD files on top of them, and now I'm back to a usable machine.
So apparently they still work. Though you'd think someone could have threaded it and made improvements by now, but I'm not complaining, 2006's apparently still a good vintage for libjpeg mmx.
There is now a 64-bit (and optimized 32-bit) versions of libjpeg/SIMD, brought to you by the TigerVNC team. We have personally tested this with a Debian server running Zoneminder for 24 cameras, and our CPU usage on the box has dropped from ~80% to ~40%, a HUGE difference. We were looking at a beefier server to handle the addition of more cameras, now there is no need.
I was able to get this from DRC (drcommander-at-users-dot-sourceforge-dot-net), a developer with TigerVNC. He offers consulting services for libjpeg/SIMD at $60/hour.
Last edited by aklettke on Fri Jan 29, 2010 10:41 pm, edited 1 time in total.
Hey, great work!
Here are my results for 64bit CentOS 5.4.
The version of nasm found in the CentOS repositories is 0.98. According to the website mentioned, I need nasm-2.05.
Finding an rpm for nasm-2.05 was easy, but unfortunately nasm-2.05 requires glibc-2.7.
Because glibc is a core component, I'm choosing to stop at this point unless someone can offer a way around this requirement.
I'm sure this problem does not exist for distributions that use newer components so don't let this post discourage you if you are running some other linux distro.