Contribute
Register

REALLY Slow write speeds (3Mb/s) in Logic Pro

Status
Not open for further replies.
Joined
May 8, 2012
Messages
4
Motherboard
Hackintosh for Audio
CPU
Intel i7 3.5Ghz Ivy Bridge
Graphics
nVidia GTX650
Mac
  1. 0
Classic Mac
  1. 0
Mobile Phone
  1. 0
Hi Guys!

I recently built a Hackintosh for home studio reasons. Here's the spec:

Intel i7 3.5Ghz 3500K Ivy Bridge
Gigabyte Z77-UD5H
16Gb RAM
EVGA nVidia GTX650
128OCZ Solid 3 SSD
2x Samsung 1TB HDs - these ones: http://www.amazon.co.uk/Samsung-HD103SJ-internal-SATAII-7200RPM/dp/B002MQC0P&tag=tonymacx86-21
- One for Home Folder
- One for Time Machine

So general, day to day stuff is great on the system. Runs very quickly, I have no problems with it.

However, in Logic, I am constantly getting lock ups whilst recording, saying that the write speed is too low, the needle has slipped on the platter and so on. I'm sure you know the error I'm referring to.

So, after looking into this a bit more, my scratch disk has a 32MB cache, runs at 7200RPM and can achieve maximum write speeds of 160Mb/s but on average should achieve 65Mb/s. I have used Activity Monitor and iStat menus to monitor my write speeds whilst recording 8 tracks through a Focusrite Saffire Pro 40, and the write speed is only 3Mb/s!

This is obviously unacceptable, and I don't really understand what's happening. Write speeds when copying files are anywhere between 60 and 100mb/s, so in other situations the drive is working adequately. It's formatted to HFS+ Journaled.

I hope you can help me - I was really counting on this machine working better for me than my old MBP, and at the moment its just making me look unprofessional with clients.

Many Thanks,

Chris
 
Hopefully you mean "MB/s" not "Mb/s". A drive that only maxed out at 160 megabits/sec wouldn't be very fast at all.

Things to look for:
  • In a Terminal window monitor the system with something like iostat -d -n 99 -w 2
    This will show you ops/sec as well as MB/sec for each disk, although it doesn't separate reads and writes. The 2-second update is the same as used by Activity Monitor.
  • Also run Activity Monitor, which will give you an overview of CPU usage (and memory, etc) as well as aggregate disk I/O with reads and writes separated.
  • Maybe the disk is being hit with other traffic at the same time? Is it getting lots of small ops and thus not able to get a good sequential transfer running?
  • Is mds thrashing the audio storage? You might want to tell Spotlight to ignore that part of your disks.
  • Is the drive reporting errors? These may show up in the system.log.
  • Is something else in the system causing a bottleneck? Do you have a flatlined CPU? Do you have enough RAM? "Page outs" in the System Memory panel of Activity Monitor would indicate you need more (or need to cut down what's running and maybe tune a preference in Logic?).
  • Is it a problem with the Focusrite Saffire Pro 40? The FW400 connection from it to the host?
The list goes on...
 
Hi DBP,

Thanks for the reply.

No other programs are running when Logic is running. Specs-wise, the system far outweighs anything you need for Logic - I ran Logic more successfully on my 8GB, Core 2 Duo Macbook Pro. The errors I got from that were from overloading the CPU, hence the upgrade.

The CPU is fine under a load from Logic (aside from Logic's terrible management of multi-core CPUs, but thats a known issue and another story altogether) - and anyhow, the CPU doesn't suffer during actual recording, its your hard drive that does. My system has 16GB of RAM - it hardly touches that.

I hadn't considered that the bottleneck might be in my Firewire bus - that actually makes a lot of sense. I wouldn't know how to test that other than trying a big file transfer to a FW drive. I'll see if I can get hold of one and let you know. It's a TI chipset FW card, as recommended on here, so it should do the job. I'll see if the onboard Firewire works, and if I get better/different results.

Thanks again - you've given me some things to think about.

Chris
 
Just done a test with my onboard Firewire - same issue. Both read and write speeds max at 3MB/s. If I do a file transfer in Finder, the disk is reading and writing at 114MB/s or there abouts.

Could be a Logic setting I'm missing?
 
So you've eliminated one variable so far? The FireWire HBA that's connecting the audio interface to Logic. You've still got the same disk layout, the same audio interface, etc.

But when Logic is running and you're seeing these slow throughputs, how many ops/sec is the drive servicing? High numbers (shown by iostat) could indicate a bottleneck there, although 3 MB/s would be surprising.

Oooo, another thought: is the hard drive you're using split into multiple partitions? If there's data constantly being accessed at the same time in two partitions, the drive's heads will be spending most of their time seeking backwards/forwards, which could explain your symptoms. Note that the ops/sec wouldn't be high in that case: the drive just can't do more ops/sec in that case.
If so you would be best off having two separate disks (or an SSD, which has no moving heads). You could have both areas on the one partition, although that would only be as fast until the partition starts to fill and the heads have to move further and further into the partition.

As for Logic settings: I have no idea. Does Logic have something like a buffer folder that you can relocate in preferences? This would relate to the partition issue.
 
Hey,

Yes, when changing Firewire hardware, everything else remained the same.

Hard Drive wise, the setup is:

OSX on the SSD, plus Applications. Logic runs from this.
1TB HD contains my Home folder, which includes where I store my Logic Files
1TB HD contains Time Machine.

None of the hard drives are partitioned - it's one hard drive per task.

As another test, I ran a Logic project from my Time Machine disk too, to see if the Home folder disk was at fault. Exactly the same result. Transferring a file between my Home disk and my Time Machine disk gives expected transfer rates of around 100MB/s.

I ran iostat and I'm not sure which number refers to the ops/sec. Is it the column 'tps'? If so, these values are low when when recording or listening in Logic (around 28-35). When transferring files, the value is high, around 135. I've attached an image of my iostat output whilst listening to a project. In fact, Logic crashed with the error in question whilst I was running iostat, and I was only listening, not recording or writing anything to disk.
 

Attachments

  • Screen Shot 2012-12-22 at 14.04.55.png
    Screen Shot 2012-12-22 at 14.04.55.png
    32.1 KB · Views: 227
Yes iostat gives you transactions per sec (tps) and average kB/transaction.

I think I'm running out of ideas though. Will keep thinking about it.

Audio shouldn't really need big transfer rates. Even 96 kHz at 24 bits/sample in stereo is only 575 kB/s or so. Is it possible that the 3 MB/s is not itself a sign of a problem?

I know of some cases where hard drives get an internal error (blocks fail all the time, and the drives re-map them internally) and takes too long to respond, causing the RAID controllers "above" them to get upset and mark the drive as offline. Not that this particular problem is going on here, but some unusual delay every now and then might cause Logic to complain? I'm having trouble imagining what though.
Of course, it's probably going to turn out to be something very simple in the end...
 
Status
Not open for further replies.
Back
Top