SageTV Community  

Go Back   SageTV Community > SageTV Products > SageTV Software
Forum Rules FAQs Community Downloads Today's Posts Search

Notices

SageTV Software Discussion related to the SageTV application produced by SageTV. Questions, issues, problems, suggestions, etc. relating to the SageTV software application should be posted here. (Check the descriptions of the other forums; all hardware related questions go in the Hardware Support forum, etc. And, post in the customizations forum instead if any customizations are active.)

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 05-14-2011, 07:41 PM
ero ero is offline
Sage User
 
Join Date: Mar 2008
Posts: 32
"Could not create JVM" error if JVMMaxHeapSizeMB=400H

I've had the mini pauses when watching live and recorded TV as posted by others. I've also had SageTV crash on my when stopping recorded TV or pressing delete whilst watching recorded TV to delete the file.

Reading through the forums I've noticed many people talking about the JVMMaxHeapSizeMB reg setting so I changed mine, which was originally set on 0.

Changing to 400h (1024d) results in a SageTV error as soon as I start SageTV. The errror being:
Java Missing (Error box heading)
Could not create JVM
Please reinstall Java Runtime Environment 1.4

Lowering it to 200h (512d) allows SageTV to start.... My pauses are few and I've had much less crashes than before. Before all crashes my hard disk would be thrashed around heaps, but since upping the heap size I realise my hard disk thrashing is a much less...

I'd love to be able to set it to 400h and hopefully elimiate ALL crashes as I'm now pretty confident my JVM heap size is just filling up.

My setup is Windows XP, Athlon 3200 (no multi-threading), 2G RAM. Using latest SageTV Beta and latest Diamond (the version that should have fixed memory leaks).

Any explainable reason why I can't set my JVMMaxHeapSizeMB to 400h and SageTV start, just like many other people successfully achieve?

Thanks.
Reply With Quote
  #2  
Old 05-14-2011, 08:56 PM
Slugger Slugger is offline
SageTVaholic
 
Join Date: Mar 2007
Location: Kingston, ON
Posts: 4,008
To use 1GB of heap, Java must be able to acquire 1GB of contiguous RAM at start up and if it can't, Java won't start, which is probably what you're seeing. With only 2GB of RAM in your system, it may not be possible for Java to acquire the full 1GB of contiguous RAM if you're running other programs on the system. Try setting the heap to 768MB (hex 0300).
__________________
Twitter: @ddb_db
Server: Intel i5-4570 Quad Core, 16GB RAM, 1 x 128GB OS SSD (Win7 Pro x64 SP1), 1 x 2TB media drive
Capture: 2 x Colossus
STB Controller: 1 x USB-UIRT
Software:Java 1.7.0_71; SageTV 7.1.9
Clients: 1 x HD300, 2 x HD200, 1 x SageClient, 1 x PlaceShifter
Plugins: Too many to list now...
Reply With Quote
  #3  
Old 05-14-2011, 09:08 PM
ero ero is offline
Sage User
 
Join Date: Mar 2008
Posts: 32
Quote:
Originally Posted by Slugger View Post
To use 1GB of heap, Java must be able to acquire 1GB of contiguous RAM at start up and if it can't, Java won't start, which is probably what you're seeing. With only 2GB of RAM in your system, it may not be possible for Java to acquire the full 1GB of contiguous RAM if you're running other programs on the system. Try setting the heap to 768MB (hex 0300).
After posting I did some more Googling and found some sites that described using the command java -mx<MBSize> -version to determine the maximum JVM heap size that can be created.

In my case using MBSize of 1536 and 1024 worked, and 2048(and higher) as expected didn't work.

I therefore assume SageTV should be able to set aside at least 1024.

I tried the 300h (never even thought of trying that value before reading your message) and again the error message came up and SageTV didn't start.
Reply With Quote
  #4  
Old 05-14-2011, 11:18 PM
ero ero is offline
Sage User
 
Join Date: Mar 2008
Posts: 32
Update:

Tried a few combinations, rebooting in between, etc.... and noticed that sometimes SageTV would start up with JVMMaxHeapSizeMB set to 300 and other times it wouldn't. (Never started with 400h)

I noticed FlashGet was one of the first startup items to start so I thought I'd try and remove from startup. Low and behold, now SageTV starts with JVMMaxHeapSizeMB set to either 300h or 400h.

So, per Slugger's comment, FlashGet perhaps takes up either a lot of memory or non contiguous memery and somehow prevented Java from allocating the requested contiguous memory.

Don't know if fact, but sounds correct in theory.
Reply With Quote
  #5  
Old 05-14-2011, 11:28 PM
GKusnick's Avatar
GKusnick GKusnick is offline
SageTVaholic
 
Join Date: Dec 2005
Posts: 5,083
Quote:
Originally Posted by Slugger View Post
To use 1GB of heap, Java must be able to acquire 1GB of contiguous RAM at start up and if it can't, Java won't start, which is probably what you're seeing. With only 2GB of RAM in your system, it may not be possible for Java to acquire the full 1GB of contiguous RAM if you're running other programs on the system.
I don't see why the JVM should care about contiguous physical RAM, since the OS is free to map discontiguous segments of RAM to contiguous virtual addresses, and does so all the time.

So the issue is much more likely to be one of contiguous virtual address space. If you have a lot of random DLLs loading at startup time and injecting themselves into every process, that can fragment the virtual address space and prevent the JVM from allocating a contiguous heap. The solution, as you've discovered, is to minimize the amount of crap that loads at startup.
__________________
-- Greg
Reply With Quote
  #6  
Old 05-15-2011, 07:36 AM
davephan's Avatar
davephan davephan is offline
Sage Icon
 
Join Date: Mar 2004
Location: Minnesota
Posts: 1,911
I was having JVM memory problems several months ago with my old Windows XP SageTV computer. I also found the default JVMMaxHeapSizeMB size was 0. I set it to various values, including 400h, but was not able to solve the memory problems.

When I had the XP JVM problems, I did recover to an image taken a month in the past, but the JVM problems continued. I did not try recovering to an image taken 6 or 12 months in the past. Instead, I rebuilt my system since I already purchased a 3 pack Windows 7 upgrade at the end of last year when it was on sale. The 3 pack included both 32-bit and 64-bit DVDs. The Windows 7 upgrade can be installed 'clean' with the 'workarounds' posted on the web.

I rebuilt the SageTV computer using Windows 7 64-bit using the same hardware. I set the JVMMaxHeapSizeMB to 400h. The JVM problems are gone and have not returned since the rebuild.

You might want to think about updating the OS. The mainstream support for XP ended April 14, 2009. The extended XP support ends April 8, 2014. The single-core Athlon 3200 is pretty dated too. I don't know if the hardware is good enough for Windows 7. I used a Althlon XP 2100 about five years ago. The Althlon XP 2100 processor is slow and weak for SageTV today.

Dave
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Create "Scene" Screen in Studio? gatorwes SageTV Studio 14 04-26-2009 06:23 PM
Can i create a "My TV -> Sports" screen like the "My Tv -> Movies" screen? bnh SageMC Custom Interface 4 03-03-2009 10:41 AM
Java Error? "unexpected error" "exception_access_violation" gotuitdan SageTV Software 1 11-21-2006 10:49 PM
Any way to create a "Rec" light like on Tivo? popechild SageTV Customizations 4 07-31-2006 05:28 PM
ERROR (-9): All encoders are in use by clients viewing "Live" TV". band80 SageTV Software 4 01-17-2005 01:59 PM


All times are GMT -6. The time now is 01:59 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, vBulletin Solutions Inc.
Copyright 2003-2005 SageTV, LLC. All rights reserved.