On our xServe’s I have found 4 things what will drive up the CPU utilization of the AppleFileServer process.
1. “corrupt” .DS_Store files
2. filled AFP share (above 90% full)
3. samba
4. large number of files in a folder (> 1000)
Number 1 – I have *no* idea why this happens, or if it’s common, but it’s happend to us twice in the last year. Hunting down the problematic .DS_Store file is next to impossible. You can find the workstation sometimes by looking at the packets (tcpdump) – there will be one ore flooding the server with traffic for no obvious reason. But that doesn’t help unless you know which .DS_Store files(s) are freaking it out. My fix is to log all workstations off and then run a find command and delete all .DS_Store files on all AFP mounts. I run this command from each share:
(run this at your own risk!)
sudo find . -name .DS_Store -exec rm {} \;
Number 2 – do a df -h and if any volume is over 90% full you have problems. I think our 1.4 TB volumes freak out around 92-95% full. I now have a script that actively watches server space.
Number 3 – If a PC starts drilling our server really hard on a GB connection it will drive up the AFP process and slow everybody down. Our fix? Moved all the PC’s to 100 BaseT. 
Number 4 – if you have a folder with more than 1000 items (roughly) and people open it up often, your AFP CPU usage will rise as you describe.
Hope something in there helps.
Recent Comments