java.lang.OutOfMemoryError: unable to create new native thread

In tests that were done a couple years ago with ColdFusion MX, it was found that there is an upper limit on the number of operating system threads that can be open by one process, not to be confused with the number of file handle descriptors or jvm threads. When that os thread limit is reached for ColdFusion jrun process, the java.lang.OutOfMemoryError: unable to create new native thread error is thrown.

The results from testing on the Linux platform with Red Hat 7.x demonstrated the error when approximately 400 OS threads were tied to one OS process, the jvm process. Current Linux versions are thought to have improved that somewhat, so the limit might be higher at this time.

Solaris also demonstrated a limit, but had a higher threshold of about 1000-2000 OS threads per process, and Windows showed a limit of about 3000. at that time.

Given that for the JVM process under ColdFusion/JRun there is at least one operating system thread open for every JVM web thread, plus other operating system threads that are not tied to a JVM web thread, it is very likely that this error will occur if the total number of web threads (queued + running) begin to approach that experimental threshold of about 400 on Linux, for example.


activeHandlerThreads or Simultaneous Requests: Less is More

I'm recycling this explanation which I just emailed to someone about why setting the JRun activeHandlerThreads value in jrun.xml to 500 is not a good idea. To ColdFusion users this setting is better known as Simultaneous Requests.

Current values that you've set for the ColdFusion server's JRunProxyService in jrun.xml are far from default

Maximum number of web threads that are actively running.

Maximum number of web threads queued + running

Minimum number of web threads to have around at all times

As a rule of thumb, I recommend that you set these to:


Meeting Archived: ColdFusion MX 7 on Unix and Linux

Thanks to everyone who attended tonight's presentation from the Online ColdFusion Meetup Group. The Breeze presentation was recorded and is available for viewing here:

Running ColdFusion MX 7 on Unix and Linux [Slides]

Please consider joining the Online ColdFusion Meetup Group by officially registering as a member on the Meetup website.

As I think of errata from tonight's meeting, I'll publish corrections in the comments for this blog entry. Further questions can be posted to this blog, too.

Otherwise, here are some links mentioned in the talk:


Online ColdFusion Meetup Group Tonight 6pm ET

Tonight at 6pm Eastern Time I'll be presenting an overview of using ColdFusion MX 7 on Unix and Linux. I expect to require about an hour for the presentation, perhaps more depending on the volume of questions or discussion.

Online ColdFusion Meetup Group

Archived Presentation Info

March Meeting

Meeting Name: Running ColdFusion MX 7 on Unix and Linux

Meeting Summary: A survey of the differences involved when running ColdFusion MX 7 on Unix or Linux instead of Windows. Topics covered include history of CF on Unix/Linux, current system requirements, migration paths, new features in Blackstone, installation scenarios and walkthrough, processes, troubleshooting, and IDEs. This is not an indepth discussion of CFMX 7 features, but a review of any interesting differences when using CFMX on Linux/Unix rather than Windows.

Meeting Date: March 10, 2005; 6pm Eastern Time; ~1 hour for preso, can continue on for questions

Meeting Location: Online meeting using Breeze Live, just open your browser to to join the online meeting. To participate in the conversation you might want to grab the conference number from the chat window in the meeting and then dial in. Otherwise, you can listen to the Breeze via VOIP.

If you've never used Macromedia Breeze, get a quick overview:


Journey to the center of the iPod vortex

My iPod Photo fits nicely into my Macromedia team jacket.Today, I shoved off into the brave new iPod world as the vortex has finally sucked me in. Today, I am no longer an iPod virgin. My iPod Photo has finally arrived, and the world is good again.

Seriously, I decided it was time to take a look at all that iPod hacking, podcasting, and audio blogcasting going on. I've loaded up my modest mp3 collection of 1900+ songs in about an hour, and the Old 97's are happily humming along in my head right now. Just 8GB so far with plenty of elbow room for my entire digital photo collection.

The iPod phenomenon is really amazing, and I'm surprised that it took me this long to dive in. There are people who use it for just about every purpose under the sun. People who cook by it. People who just want to keep their iPod cozy and warm while still being stylish. Personally, I'd like to catch up with those who want to use it with Linux, and others who want to run Linux on it. So if you see me on the street just tap me on the shoulder coz I might not hear you ;-)

Crossover Office for Running Windows Apps on Linux

View Desktop: Installing Allaire ColdFusion Studio 4.5.2 on Fedora Core 3 Linux using Crossover OfficeView Desktop: Running Allaire ColdFusion Studio 4.5.2 on Fedora Core 3 Linux using Crossover OfficeView Desktop: Running Breeze Live Desktop Sharing on Fedora Core 3 Linux using Crossover Office

As a part of my effort to gradually move over to using Linux as my primary workstation OS, I decided to buy CodeWeaver's CrossOver Office product, for only $39, which enables me to run some Windows applications on Linux.

Specifically, for work I must use a CRM app that has Active X and must run in MSIE, and I like to use Breeze Live to help diagnose remote problems. Now that I can run MSIE 6.0 SP1 on Linux, those 2 obstacles have been overcome. Yes, the breezeaddin.exe presenter plugin can be installed on Linux when using with CrossOver Office, permitting me to share my Linux desktop.

The commercial product CrossOver Office is a big improvement over my experiences using the freely available WINE, as I was doing last year.


Using the the wireless network at the Concord Public Library

Today was my first experience using the wireless network since the library has reopened. I didn't ask anyone for instructions and just assumed I'd figure it out knowing that at least Windows XP would scan for available SSID network ids. Using my little WiFi Finder I discovered that the Periodical Room had the strongest signal at full strength, and the study in the corner beyond the Emerson statue had good reception but less than the periodical room. In the remainder of the library I could not detect a signal at all, including the Thoreau Room and the Rotunda. I chose to read in the study since I was looking for the quietest area and there are several walled desks lined up across the wall to limit visual distractions.

I'll spare you the detailed description with getting on the wireless network, but here's a few hightlights:


Bad Review for SmartDisk FireLite portable external hard drives

Last year I purchased a very portable external hard drive, the SmartDisk FireLite 40 GB USB model. Over the course of the year I used it somewhat regularly, perhaps maybe a couple dozen times. Up until this past fall I was satisified with it, so much so that I ordered another one for my wife, but an 80 GB model.

Just about that time I noticed my Firelite started giving me a few fits... It has an LED light that turns purple if it can connect at USB 2 speed such as when connected to a Windows XP workstation, or green if it can connect as USB 1.1 speed when connected to a Windows 2000 machine. If it has a connection the light is steady, and if it has trouble where Windows won't show the drive for the Firelite device then the light blinks rapidly.

Well, more times than not the light was blinking on mine just about the time I ordered the one for my wife. I thought it was just me. I tried Linux as well to mount it as /dev/sda1, for example, and even under linux it sometimes blinked and couldn't connect.

While using Windows, I'd plug into the USB port and Windows would give me an error:


TalkingTree Blog joins up with GalaxyGoo Blog

I've recently had the honor to be invited as a guest blogger on GalaxyGoo which emphasizes the unique nexus of web technology and science. Today I've made my first introductory post to GalaxyGoo Blog. Since I've never had an "About Me" section on, I'm reposting my GalaxyGoo blog entry here to serve just that purpose.

About Me
Hello, my name is Steven Erat and I'm the new kid on the GalaxyGoo block, er..., blog. I've been invited by Kristin Henry of GalaxyGoo to contribute blog entries based on my experience in both scientific research and software development. You might even know me already from my blog on or through my employer Macromedia.


Linksys Wireless-G PrintServer WPS54G

I just finished setting up the wireless Linksys printserver (model WPS54G) at home. Finally, I can effortlessly use my Compaq Inkjet IJ650 printer from every Windows computer on the home network. Yay!

The printserver attaches to your 802.11g network and to your USB 1.1 or USB 2.0 printer. Previously, I had always attached the printer to one of my Windows workstations, but then that computer either always had to be on or it had to be booted up in order to print. Further, if I changed the printer from one USB hub to another, then I had to first deal with driver issues on the local workstation, and then I had to share it out again, and finally change all the remote workstation shares. The Linksys printserver is a breeze.


Previous Entries / More Entries