23Answers
  • 3
name

A PHP Error was encountered

Severity: Notice

Message: Undefined index: userid

Filename: views/question.php

Line Number: 191

Backtrace:

File: /home/prodcxja/public_html/questions/application/views/question.php
Line: 191
Function: _error_handler

File: /home/prodcxja/public_html/questions/application/controllers/Questions.php
Line: 433
Function: view

File: /home/prodcxja/public_html/questions/index.php
Line: 315
Function: require_once

name Punditsdkoslkdosdkoskdo

Best use of a RAM disk?

I setup a ramdisk on my mailgateway.
There clamav has a 256MB ramdisk for scanning attachements.

It runs since almost three years, I think its ok :)

  • 10
Reply Report
    • I use a ramdisk for amavisd temp files on my mail server (running Zimbra), not only is it in production it's vendor supported to boot.

Absolutely.

Diskless nodes that have their root FS on a read-only NFS share and strategically mounted tmpfs filesystems to allow writing to various parts of the filesystem hierarchy (eg: /tmp).

  • 7
Reply Report

Yup, Windows PE uses them for loading the PE environment into memory prior to imaging a PC.

I've always been attracted to the notion of using a RAM disk for my swap file location, but never really got round to trying it out, and to be honest I'm not totally certain how well it would work in practice.

  • 4
Reply Report
      • 2
    • @Ernie: I marked up your answer cos it tickled my funny bone. So true. It was mostly back in the Windows 98 days and would have been a symptom of frustration at constant hard disk grinding. :)
    • There is a RAM disk (sorry, can't remember it's name) that allows you to use the memory above the 3GB limit on a 32bit OS to create a RAM disk. This is specifically for the swap file.

A common use is to put MySQL's tmpdir on a ramdisk (e.g. tmpfs) if your web application creates a lot of on-disk temporary tables, i.e. Created_tmp_disk_tables is large and getting larger all the time.

Cheers

  • 4
Reply Report

My netbook rsyncs my Firefox profile to a RAM disk on boot, removing the very slightly irritating pauses caused by the urlclassifier file being updated on the not-fast-to-write-to SSD after page loads. It rsyncs it back on full shutdown so new bookmarks and such are not lost between boots (using the inplace option which reduced the number of writes needed in the simple tests I performed) or when I command it to (i.e. after making a number of changes like installing+configuring plugins).

They are also useful for some performance tests when you don't want disk IO to have much impact on the test but /dev/zero and friends won't do for some reason.

  • 3
Reply Report
      • 1
    • I really like the idea of using to hide the write penalty of SSD. Heck you could even have a directory watcher of sort watch key folders/files (like your bookmarks) and sync them on change in the background. Very cool.

They're most useful when going totally disk-less, or when using the disks only for a particular format that the OS wouldn't boot from.

I know it's not a server, but on old macs you used to be able to set a ram-disk up and then install a minimal OS 7 into it, set it as your boot volume, then reboot from it. It seemed scary, but it always worked, and it definitely made the finder act more responsive. Some claimed it even made photoshop run faster, but I was never clear on that.

  • 3
Reply Report

On a firewall the hard drive was replaced with a compact flash card. A RAM drive is used because CF cards have limited write cycles. On shutdown anything in the RAM drive that needs to be preserved is transferred to the CF card and reloaded on reboot. I am currently looking into creating Linux thin clients using the same idea.

  • 3
Reply Report

you can store small but frequently r/w files on ramdisk. Some uses I do:

  • syslog goes to tmpfs /tmp on my laptop: it helps drives spinoff if I don't use the computer (reduces writes)
  • /tmp is good on tmpfs, as many apps are using it as temporary dir (mysql for temptables, virus scanners and some packaging utility, for example)
  • php session file store: on debian systems, /var/lib/php[45] is always mounted by tmpfs to reduce writing to disk (as my disks are always raid1, writing is quite a pain)
  • as mentioned, mail scanner tools are thankful for infinite speed block devices :)
  • files for AJAX: these files here are frequently regenerated

You should check your applications where you have opportunity. A directory qualified to go under tmpfs, if the content

  • would be regenerated anyway (like ajax support files)
  • does not have to survive a reboot
  • 2
Reply Report

There are legitimate uses for a RAMDISK, but not many. The system cache provides most of the benefits of a RAMDISK without the disadvantages. A RAMDISK requires tying up a substantial amount of RAM when it may be better used for other purposes. You will often optimize one aspect of performance but lose it elsewhere.

Incidentally, using a RAMDISK for the pagefile is completely nonsensical. In virtually every case it will be better to let the system use the RAM as it sees fit.

  • 1
Reply Report

I haven't seen ram disks used for a long time, but I think that's because tools like memcached allowing for greater scaling and the fact that you can get such fast hard drives now (thinking of SSD drives) that performance is not such a consideration (see this post for how it didn't make any major differences).

An example of an interesting using of memcachd is Twitter. A very smart idea for ramdisks is a privacy system, especially for local user - just think shutdown and the data is gone (idea from Surasoft).

  • 0
Reply Report

Back when I ran sendmail, I used a ramdisk (technically, Linux tmpfs, but it's functionally the same thing) for the hoststat database. It takes up very little room, but it creates a ton of inodes. Sendmail didn't (at the time) do any housekeeping on it, and it grows quickly even on a modestly busy mail server. I used a ramdisk so my cleanup script wouldn't cause the disks to thrash about due to all the directory lookups.

  • 0
Reply Report

Generally, they're a waste of memory since the OS is often very good at deciding how to use available RAM.

  • 0
Reply Report
      • 1
    • If the OS would have a switch that would tell it "please cache this folder to RAM at all times because it's my performance bottleneck" then I would agree with you. Otherwise you can often notice considerable performance improvements when you use a RAMDisk for caching some often-used data.

Solaris mounts /tmp in ram (or swap, depending on how you look at things), and you can set up Linux to do the same. Ages ago, I had a the same set up on my OS/2 box, I'd unpack stuff there, and it was good for a speed improvement (original was on disk, not having to hit disk was a win, and OS/2 had a fixed size disk cache).

  • 0
Reply Report

Trending Tags