How to remotely run Disk Repair (fsck) on OS X

The first thing you should do is make sure your remote control program is running properly at startup.  I’m using TeamViewer so I just added it to the main user’s startup items.  If you’re using VNC on your mac you probably don’t have to do anything special once it’s enabled.

The problem with Disk Repair (fsck) is that it needs to be run in single user mode, but you won’t have a GUI to work with on the remote side so the system needs to reboot, run fsck automatically, then reboot back to your normal GUI.

Here’s how:
Read more

Examining the Western Digital Raptor WD360GD

It is not a mystery to performance enthusiasts that hard drives are typically the slowest part of any computer.  I’ve always been curious about the Western Digital Raptor series of hard drives.  The original series was released in 2003 which makes this technology six years old.  Being “old” technology one can now purchase WD Raptor hard drives on eBay for a very reasonable sum, which I recently did.  These drives being “old” technology I was curious if they still hold up against the current crop of 7200 RPM hard drives.

I was using two test beds for this particular round of tests.  A 2006 Mac Mini running Snow Leopard and an Intel D945GCLF2 Atom 330 board running CentOS 5.4.

The hard drives tested were the aforementioned Western Ditigal Raptor, Western Ditigal Caviar Blue, Western Ditigal Green and an OEM Toshiba 2.5″ 5400 RPM drive.

The tests carried out were very simple, I used dd to write out a 4 GB file and then used dd to read it back.  Each test was carried out 3 times after a clean boot once the system had settled down.  The three passes were averaged to produce the final results.  Here are the dd commands I used:

time dd if=/dev/zero bs=1024k of=tstfile count=4096
time dd if=tstfile bs=1024k of=/dev/null

Throughput was calculated using base 2 (i.e.:  divide by 1024)

I also decided to add a couple of tests using mdadm raid 0 sets on the Linux test host.  raid was created with mdadm and formatted ext3 – I didn’t bother aligning the partitions.

Hard Drive Performance Chart

Hard Drive Performance in MB/Sec

The results are really quite surprising.  First and foremost it is quite refreshing to see six year old technology still holding its own.  Though the WD Raptors are no longer setting speed records they are certainly fast enough to be usable.  We can also see that 7200 RPM hard drives have come a long way as far as performance goes.  Secondly we can see that the results varry quite a bit between the Mac Mini and the Intel D945GCLF2 motherboard.  Now it is impossible to compare the two directly due to OS and file system differences but we can certainly put come credibility in the results since both platforms are based on the Intel 945 chipset.

All in all the Raptors are impressive considering their age and will be used.

Delayed ACK in OS X is incomprehensible…

I still don’t understand exactly why OS X ships with Delayed ACK but it sure does kill network performance immensely – at least with a Freenas based server.  Modifying the Delayed ACK parameter will greatly improve you OS X network performance.

Today I was transferring a few files from the server to a Macbook running Leopard 10.6.2 and found it pokey.  A quick check of the network throughput revealed ~275KB/sec over a wireless N connection.  A quick look at the delayed ack reveled a value of “3”.  I changed the value of “3” to “0” and throughput jumped to 4+MB/Sec.  Much better.

To check Delayed ACK Value
$ sudo sysctl -a | grep net.inet.tcp.delayed_ack
kern.exec: unknown type returned
net.inet.tcp.delayed_ack: 3

To change Delayed ACK Value
$ sudo sysctl -w net.inet.tcp.delayed_ack=0
net.inet.tcp.delayed_ack: 3 -> 0

A good read detailing this phenomenon

TCP Performance problems caused by interaction between Nagle’s Algorithm and Delayed ACK-Stuart Cheshire


When I posted this I forgot that “sysctl -w” does not survive a reboot, it simply makes the setting active immediately.  You must create /etc/sysctl.conf with net.inet.tcp.delayed_ack=0 in it for the setting to remain persistent.  Personally I do sudo -s, add password and use vi to create the sysctl.conf file.

Acrobat 9 Fails when using ADMit (Network) Mac Accounts

Snagged from

Accrobat 9 would crash on start up with the following messages in console:

[0x0-0x483483].com.adobe.Acrobat.Pro[9638]    terminate called after
     throwing an instance of 'SQLiteUtils::SQLiteException'
[0x0-0x483483].com.adobe.Acrobat.Pro[9638]    terminate called after
     throwing an instance of 'SQLiteUtils::SQLiteException'[133]    ([0x0-0x483483].com.adobe.Acrobat.Pro[9638])
     Exited abnormally: Abort trap
[0x0-0x487487].com.adobe.Acrobat.Pro[9655]    terminate called after
     throwing an instance of 'SQLiteUtils::SQLiteException'

I am running 10.5.8, Intel, using instructions described link above, this is what I did:

  1. Log in as a Network User
  2. Go to /Users/Shared/
  3. Create a folder in /Users/Shared/ named 9.0_x86
  4. Go to ~/Library/Application Support/Adobe/Acrobat/ and trash the 9.0_x86 folder
  5. Go to Applications/Utilities/ and open Terminal
  6. Enter one of the following into the Terminal ln -s /Users/Shared/9.0_x86 ~/Library/Application Support/Adobe/Acrobat
  7. Open up Acrobat 9 and it should work!

Tada – that was it!