|Q.||I'm having trouble creating a RAM disk. Can you give instructions for exactly how to create a RAM disk?|
Here is a step-by-step description of how you can create a RAM disk.
|Q.||I'm trying to create a RAM disk for my Netscape cache. I've created the RAM disk, but Netscape doesn't recognize it when I try to choose a cache location in the Options/Network Preferences dialog.|
|A.||Netscape caches must be some integral (1, 2, 3, ...) number of megabytes. Try creating a RAM disk that's 1440K. That's one MB to make Netscape happy, plus some "elbow room" for the invisible files and other overhead that the Mac OS automatically puts on every disk.|
|Q.||Performance is of the utmost importance to me. How can I make my ramBunctious RAM disk as fast as possible?|
A different way of looking at the issue is to explore what can slow a ramBunctious RAM disk down.
One factor that affects performance is the write-through feature. If the RAM disk is not RAM-only -- that is, if it saves its contents to a file on a (real) disk, the driver needs to remember what parts of the RAM disk need to be updated. That's so it doesn't need to write out all the contents. It only writes out the bits that have changed.
A factor that definitely plays into RAM disk performance is whether virtual memory is turned on. If VM is on, there are performance penalties when the system needs to access RAM that's currently paged to disk, as well as the bookkeeping necessary to maintiain VM.
Another factor in ramBunctious performance, particularly noticeable with small chunk sizes, is the flickering LED-like access indicators. If a settings window is open, then every time the RAM disk is accessed, that flickering is drawn to the screen.
Short discussions of chunk size and virtual memory and their implications on RAM disk performance are in the glossary.
Finally, if multiple RAM disks are on the desktop, a small amount of time is spent figuring out which one is the one asking for attention.
To summarize, the fastest ramBunctious RAM disk is a single RAM-only RAM disk with the settings window closed, running on a system with virtual memory turned off.
|Q.||Is there a way to use a ramBunctious RAM disk as a startup disk?|
In order to work around the limitation, you can try what several ramBunctious users have done: set up a minimal Apple RAM disk to start up from, then use ramBunctious RAM disks for all the stuff you typically work on.
The reason that ramBunctious cannot be used as a startup disk is based on a crucial design decision we made. ramBunctious uses temporary memory, also known as "Process Manager Heap" memory or Multifinder memory.
Some RAM disk programs (like Apple's RAM disk control panel) use system memory — high memory above BufPtr — which enables them to be used as startup disks.
Here are some of the reasons for our decision to use temporary memory for the RAM disks:
Making the problem worse in recent years is that hardware support for RAM disks you can start up from has gone away.
Machines with G3 and later processors do not have hardware support for a startup RAM disk. (RAM needs frequent power "blips" to stay valid. Old Macs kept sending these "blips" during the whole restart process, but modern Macs stop sending the "blips" and the RAM contents are lost.)
As long as there appears to be no likelihood that hardware support for RAM disks will be re-added to Apple's future machines, it's safe to say that new ramBunctious features will focus on other areas and not on increasingly obsolete machines.
|Q.||Why use write-through? Doesn't that degrade the performance, defeating the purpose of a RAM disk?|
|A.||Writing through does cause a performance hit when writing to a RAM disk, but it maintains a safe RAM disk image file by ensuring that changes are written to a real disk file. Furthermore, reading from the RAM disk is where the greatest benefit occurs, since reading only looks at the RAM disk and has no need to access the RAM disk image file. A typical real-world example is compiling and linking an application. A compiler has to read all the files it compiles, some repeatedly, and writes a relatively small amount. By enabling the write-through feature of ramBunctious, your gain the advantage of fast reads from a RAM disk while maintaining the security of having new information in a real file on a real hard drive in the real world.|
|Q.||Can ramBunctious be used to feed the hungry, heal the sick, stop wars, and guarantee equal justice for all?|
|A.||Yes. But the explanation is complex; if we gave a full explanation, the only people who would understand the answer would be you and us.|
|Q.||What are some uses of ramBunctious?|
We have found that users of ramBunctious use it in a variety of ways, including:
|Q.||Are there any products known to be incompatible with ramBunctious?|
As far as we know, ramBunctious doesn't trounce around doing skanky things. There are, however, some conflicts with existing products.
|Q.||When I check "About This Computer" after putting away a RAM disk, it doesn't look as if the memory is being reclaimed. The "Largest Free Block" value is the same!|
The "About This Computer" window shows the largest free block. It does not show the total free memory. What follows is a series of pictures that describe what's happening in memory during a typical ramBunctious session. Each picture includes a "memory map", along with what the largest free block (what "About This Computer" shows) and the total free memory.
Initially, only Finder is running. There is also a System Heap at the bottom of memory, and a small amount of System Memory above BufPtr.
As ramBunctious is started, the application itself uses some memory; this can be seen in the following memory map.
Then, a one-megabyte RAM disk is created.
Then, suppose SimpleText is launched. You can see that it is loaded immediately below the one-megabyte RAM disk. Also, note that in all the memory map pictures so far, all the free memory has been in one block; this means that the block has the same size as total free memory.
Now, the one-megabyte RAM disk is put away.
You can see that although the RAM disk has been put away, the largest free block is still 4.6 MB -- the same size it was. But the total free memory shows that the memory used by the RAM disk has indeed been reclaimed by the system.
Just to make sure that the memory situation works as expected, suppose that SimpleText quits.
You can see that once SimpleText isn't an "obstacle" in the largest free block, the largest free block and the total free memory match up again.
|Q.||You guys don't work in a vacuum. Surely there are people who have been helpful when working on ramBunctious.|
There are many people who have helped, and without whose assistance we wouldn't be able to make ramBunctious the product it is.