Slave: Win7 64 bit 8 core with GTX 970 rendered with GPU 16 gb memory
Both have Blender 2.75 installed. Both connected via ethernet (not wireless)
I tried breaking the 800 frames into 2 pieces 1-400 & 401-800 but still quits at frame 703. Frame 703 renders fine on blender single frame.
What can cause this error? loki log entry below
The first failure was overnight, when it appeared to stop because of firewall popup, after alowing, don't konw if this is significant. I checked firewall exceptions on master, and java is allowed for both read and write.
WARNING: uncaught throwable:
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Unknown Source)
at java.lang.AbstractStringBuilder.expandCapacity(Unknown Source)
at java.lang.AbstractStringBuilder.ensureCapacityInternal(Unknown Source)
at java.lang.AbstractStringBuilder.append(Unknown Source)
at java.lang.StringBuilder.append(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.readUTFSpan(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.readUTFBody(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.readLongUTF(Unknown Source)
at java.io.ObjectInputStream.readString(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at net.whn.loki.network.StreamSocketA.receiveDelivery(StreamSocketA.java:93)
at net.whn.loki.brokersModel.Broker.run(Broker.java:52)
at java.lang.Thread.run(Unknown Source)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I read through that and others and have a couple of observations:
I Increased the java memory size to 3 gig on the master and up to 8 gig in increments on the slave, but still it failed. I did a 700 frame 4K png sequence of images, then tried in the same que a 100 frame 720p set, where it failed at number 69 with the java memory error.
It seems that 64bit windows running 32 bit java won't use that much memory. I can't install 64 bit without it seeing a 64 bit browser
It also seems that cumulative nature of the failure, that the GC or Garbage Colleaction feature that is supposed to return unused memory blocks isn't working correctly on window 7, prehaps it works better on Mac or Linux.
I am not looking for high production, just a que that will work overnight.
Brender looks complicated to setup in a non linux environment, the Blender Network Render is too hit or miss, somethimes it works great, others not at all.
If I can find something that will work, or get Loki working, I plan to purchase refurbished Dell server to use with the 2 windows machines.
Thanks for your help
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It's interesting to hear Loki is being used for 4k frames, fun stuff! I've heard of weird memory limitations on Windows but don't have direct experience since I only use Linux render farms.
Simply as a research/troubleshooting step, you may want to boot a quick and easy 64 bit Linux OS off of a USB stick on the Windows systems you've been using and see if you can avoid the memory problems. It's really easy to install, say, Ubuntu on a USB stick with a program called Unetbootin, just make sure to create some space for persistence so your setup/changes are saved between boots.
I think this should work great for you, and then it's a simple thing to pop the USB stick in and run a Linux render cluster overnight, take it out when you want to run windows. Avoid all the silly Window memory issues:-)
Hope this works for you.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Daniel, that is an intersting approach. I have previously read that there are NVIDIA drivers for linux, which may be the challenge for this method. Would both Master and Slave need to be booted to Linux, or since the Master mainly passes out the jobs, perhaps it could stay a windows machine. I will have to try this tonight.
Thanks, Lee
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
1) tried mint linux boot from USB stick grunt with win 7 master, failed at same point out of memory
2) tried mint linux boot from USB stick grunt and linux mint on master, works great no issues, and seems slightly faster than the windows 7 single render of the 700 frames.
Thanks Daniel for the suggestion.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This issue pops up because Loki stores the log information for each frame in heap space rather than a text file. The more frames you have the more heap space you require. You can increase the heap space and that will solve the problem to some extent but if you are submitting multiple large frame jobs you are going to have issues.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I keep getting OutOfMemoryError: Java heap space at frame 703 of 800 frames, on several different simple blender animations.
Master: basic Win7 64 bit dual core box 4 gb memory
Slave: Win7 64 bit 8 core with GTX 970 rendered with GPU 16 gb memory
Both have Blender 2.75 installed. Both connected via ethernet (not wireless)
I tried breaking the 800 frames into 2 pieces 1-400 & 401-800 but still quits at frame 703. Frame 703 renders fine on blender single frame.
What can cause this error? loki log entry below
The first failure was overnight, when it appeared to stop because of firewall popup, after alowing, don't konw if this is significant. I checked firewall exceptions on master, and java is allowed for both read and write.
WARNING: uncaught throwable:
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Unknown Source)
at java.lang.AbstractStringBuilder.expandCapacity(Unknown Source)
at java.lang.AbstractStringBuilder.ensureCapacityInternal(Unknown Source)
at java.lang.AbstractStringBuilder.append(Unknown Source)
at java.lang.StringBuilder.append(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.readUTFSpan(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.readUTFBody(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.readLongUTF(Unknown Source)
at java.io.ObjectInputStream.readString(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at net.whn.loki.network.StreamSocketA.receiveDelivery(StreamSocketA.java:93)
at net.whn.loki.brokersModel.Broker.run(Broker.java:52)
at java.lang.Thread.run(Unknown Source)
Hi Lee,
Try increasing the heap space when you launch loki. Something like this:
http://stackoverflow.com/questions/6748432/java-heap-space-out-of-memory
I'm in the middle of moving, so don't have time to help more right now. Good luck!
I read through that and others and have a couple of observations:
I Increased the java memory size to 3 gig on the master and up to 8 gig in increments on the slave, but still it failed. I did a 700 frame 4K png sequence of images, then tried in the same que a 100 frame 720p set, where it failed at number 69 with the java memory error.
It seems that 64bit windows running 32 bit java won't use that much memory. I can't install 64 bit without it seeing a 64 bit browser
It also seems that cumulative nature of the failure, that the GC or Garbage Colleaction feature that is supposed to return unused memory blocks isn't working correctly on window 7, prehaps it works better on Mac or Linux.
I am not looking for high production, just a que that will work overnight.
Brender looks complicated to setup in a non linux environment, the Blender Network Render is too hit or miss, somethimes it works great, others not at all.
If I can find something that will work, or get Loki working, I plan to purchase refurbished Dell server to use with the 2 windows machines.
Thanks for your help
Hi Lee,
It's interesting to hear Loki is being used for 4k frames, fun stuff! I've heard of weird memory limitations on Windows but don't have direct experience since I only use Linux render farms.
Simply as a research/troubleshooting step, you may want to boot a quick and easy 64 bit Linux OS off of a USB stick on the Windows systems you've been using and see if you can avoid the memory problems. It's really easy to install, say, Ubuntu on a USB stick with a program called Unetbootin, just make sure to create some space for persistence so your setup/changes are saved between boots.
I think this should work great for you, and then it's a simple thing to pop the USB stick in and run a Linux render cluster overnight, take it out when you want to run windows. Avoid all the silly Window memory issues:-)
Hope this works for you.
Daniel, that is an intersting approach. I have previously read that there are NVIDIA drivers for linux, which may be the challenge for this method. Would both Master and Slave need to be booted to Linux, or since the Master mainly passes out the jobs, perhaps it could stay a windows machine. I will have to try this tonight.
Thanks, Lee
An update:
1) tried mint linux boot from USB stick grunt with win 7 master, failed at same point out of memory
2) tried mint linux boot from USB stick grunt and linux mint on master, works great no issues, and seems slightly faster than the windows 7 single render of the 700 frames.
Thanks Daniel for the suggestion.
This issue pops up because Loki stores the log information for each frame in heap space rather than a text file. The more frames you have the more heap space you require. You can increase the heap space and that will solve the problem to some extent but if you are submitting multiple large frame jobs you are going to have issues.