Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

MacBook Pro is slow since 10.9

Hello,


I have upgraded my MacBook Pro (2008 version) to 10.9 and, since then, it often runs slowly (e.g. taking from 10 to 30 seconds to register a click on the menu bar or Dock icon). This slowness happens by chunks.

I've checked Activity Monitor: the CPU is almost idle and I can't see a problem with the RAM (althought I don't understand that new concept of compressed memory, thus making my comprehension of the “free” memory unclear. But, usually, the RAM is not full even when this problem happens).

The hard disk has enough free space and the network isn't over used.

I'd have liked to go back to 10.7 (as it was before), but then my mother would lose her recent mails (since downgrading usually means I can't reuse the app's files).

I think I've checked the traditional causes of slowdowns (RAM, CPU, hard disks and network), except the Graphics card, but it couldn't make issues like this one.

Any idea as to what else I should look for?

MacBook Pro (17-inch 2.4 GHz), OS X Mavericks (10.9.1)

Posted on Jan 20, 2014 10:42 AM

Reply
22 replies

Jan 20, 2014 12:17 PM in response to Anic264b

This procedure is a diagnostic test. It changes nothing, for better or worse, and therefore will not, in itself, solve your problem.

If you don't already have a current backup, back up all data before doing anything else. The backup is necessary on general principle, not because of anything in the test procedure. There are ways to back up a computer that isn't fully functional. Ask if you need guidance.

Below are instructions to run a UNIX shell script, a type of program. All it does is to gather information about the state of your computer. That information goes nowhere unless you choose to share it on this page. However, you should be cautious about running a program at the instance of a stranger on a public message board. If you have doubts, search this site for other discussions in which this procedure has been followed without any report of ill effects. If you can't satisfy yourself that the instructions are safe, don't follow them.

Here's a summary of what you need to do: Copy a line of text from this web page into the window of another application. Wait about a minute. Then paste some other text, which will have been copied automatically, back into a reply on this page. The sequence is: copy, paste, wait, paste again. Details follow.

You may have started the computer in "safe" mode. Preferably, these steps should be taken in “normal” mode. If the system is now in safe mode and works well enough in normal mode to run the test, restart as usual. If you can only test in safe mode, do that.

If you have more than one user, and the one affected by the problem is not an administrator, then please run the test twice: once while logged in as the affected user, and once as an administrator. The results may be different. The user that is created automatically on a new computer when you start it for the first time is an administrator. If you can't log in as an administrator, test as the affected user. Most personal Macs have only one user, and in that case this paragraph doesn’t apply.

The script is a single long line, all of which must be selected. You can accomplish this easily by triple-clicking anywhere in the line. The whole line will highlight, though you may not see all of it in your browser, and you can then copy it. If you try to select the line by dragging across the part you can see, you won't get all of it.

Triple-click anywhere in the line of text below on this page to select it:

clear; shopt -s extglob; Fb='%s\n\t(%s)\n'; Fm='\n%s:\n\n%s\n'; Fs='\n%s: %s\n'; Fu='user %s%%, system %s%%'; PB="/usr/libexec/PlistBuddy -c Print"; A () { [[ a -eq 0 ]]; }; R () { o=; [[ r -eq 0 ]]; }; Pm () { [[ "$o" ]] && o=`sed 's/^ */ /' <<< "$o"` && printf "$Fm" "$1" "$o"; }; Pc () { o=`egrep -v '^[[:blank:]]*($|#)' "$2"`; Pm "$1"; }; Pp () { o=`$PB "$2" | awk -F'= ' \/$3'/{print $2}'`; Pm "$1"; }; Ps () { o="${o##+( )}"; [[ ! "$o" =~ ^0?$ ]] && printf "$Fs" "$1" "$o"; }; id | grep -qw '80(admin)'; a=$?; A && sudo true; r=$?; t=`date +%s`; clear; { A || echo $'No admin access\n'; A && ! R && echo $'No root access\n'; system_profiler SPSoftwareDataType | sed '8!d;s/^ *//'; o=`system_profiler SPDiagnosticsDataType | sed '5,6!d'`; [[ "$o" =~ Pass ]] || Pm "POST"; o=`pmset -g therm | sed 's/^.*CP/CP/'`; egrep -q 'No th|pms' <<< "$o" && o=; Pm "Thermal conditions"; o=`pmset -g sysload | grep -v :`; grep -q '= [^GO]' <<< "$o" || o=; Pm "System load advisory"; o=`nvram boot-args | awk '{$1=""; print}'`; Ps "boot-args"; d=(/ ""); D=(System User); for i in 0 1; do o=`cd ${d[$i]}L*/L*/Dia* && ls !(*.diag) | tail | awk -F_ '{$NF=a[split($NF,a,".")]; print}'`; Pm "${D[$i]} diagnostics"; done; o=`syslog -F bsd -k Sender kernel -k Message CReq 'GPU |hfs: Ru|I/O e|n Cause: -|NVDA\(|pagin|SATA W|ssert|timed? ?o' | tail -n25 | awk '/:/{$4=""; $5=""; print}'`; Pm "Kernel messages"; o=`df -m / | awk 'NR==2 {print $4}'`; o=$((o<5120?o:0)); Ps "Free space (MiB)"; o=$(($(vm_stat | awk '/eo/{sub("\\.",""); print $2}')/256)); o=$((o>=1024?o:0)); Ps "Pageouts (MiB)"; s=( `sar -u 1 10 | sed '$!d'` ); [[ s[4] -lt 85 ]] && o=`printf "$Fu" ${s[1]} ${s[3]}` || o=; Ps "Total CPU usage" && { s=(`ps acrx -o comm,ruid,%cpu | sed '2!d'`); o=${s[2]}%; Ps "CPU usage by process \"$s\" with UID ${s[1]}"; }; s=(`top -R -l1 -n1 -o prt -stats command,uid,prt | sed '$!d'`); s[2]=${s[2]%[+-]}; o=$((s[2]>=25000?s[2]:0)); Ps "Mach ports used by process \"$s\" with UID ${s[1]}"; o=`kextstat -kl | grep -v com\\.apple | cut -c53- | cut -d\< -f1`; Pm "Loaded extrinsic kernel extensions"; R && o=`sudo launchctl list | sed 1d | awk '!/0x|com\.(apple|openssh|vix\.cron)|org\.(amav|apac|calendarse|cups|dove|isc|ntp|post[fg]|x)/{print $3}'`; Pm "Extrinsic system jobs"; o=`launchctl list | sed 1d | awk '!/0x|com\.apple|org\.(x|openbsd)|\.[0-9]+$/{print $3}'`; Pm "Extrinsic agents"; for d in {/,}L*/{La,Priv,Sta}*; do o=`ls -A "$d" | egrep -v '^(\.DS_Store$|com\.apple\.)'`; Pm "$d"; done; o=`find -L /S*/L*/E* {/,}L*/{A*d,Compon,Ex,In,Keyb,Mail,P*P,Qu,Scripti,Servi,Spo}* -type d -name Contents -prune | while read d; do ID=$($PB\ :CFBundleIdentifier "$d/Info.plist") || ID="No bundle ID"; egrep -qv "^com\.apple\.[^x]|Accusys|ArcMSR|ATTO|HDPro|HighPoint|driver\.stex|hp-fax|\.hpio|JMicron|microsoft\.MDI|print|SoftRAID" <<< $ID && printf "$Fb" "${d%/Contents}" "$ID"; done`; Pm "Extrinsic loadable bundles"; o=`find /u*/{,*/}lib -type f -exec sh -c 'file -b "$1" | grep -qw shared && ! codesign -v "$1"' {} {} \; -print`; Pm "Unsigned shared libraries"; o=`launchctl getenv DYLD_INSERT_LIBRARIES`; Pm "Inserted libraries"; o=`find {,/u*/lo*}/e*/periodic -type f -mtime -10d`; Pm "Modified periodic scripts"; o=`scutil --proxy | grep Prox`; Pm "Proxies"; o=`scutil --dns | awk '/r\[0\] /{if ($NF !~ /^1(0|72\.(1[6-9]|2[0-9]|3[0-1])|92\.168)\./) print $NF; exit}'`; Ps "DNS"; R && o=`sudo profiles -P | grep :`; Pm "Profiles"; for f in fstab sysctl.conf crontab launchd.conf; do Pc $f /etc/$f; done; Pc "hosts" <(grep -v 'host *$' /etc/hosts); Pc "User launchd" ~/.launchd; R && Pc "Root crontab" <(sudo crontab -l); Pc "User crontab" <(crontab -l); R && o=`sudo defaults read com.apple.loginwindow LoginHook`; Pm "Login hook"; Pp "Global login items" /L*/P*/loginw* Path; Pp "User login items" L*/P*/*loginit* Name; Pp "Safari extensions" L*/Saf*/*/E*.plist Bundle | sed 's/\..*$//;s/-[1-9]$//'; o=`find ~ $TMPDIR.. \( -flags +sappnd,schg,uappnd,uchg -o ! -user $UID -o ! -perm -600 \) | wc -l`; Ps "Restricted user files"; cd; o=`system_profiler SPFontsDataType | egrep "Valid: N|Duplicate: Y" | wc -l`; Ps "Font problems"; o=`find L*/{Con,Pref}* -type f ! -size 0 -name *.plist ! -exec sh -c 'plutil -s "$1" >&-' {} {} \; -print`; Pm "Bad plists"; d=(Desktop L*/Keyc*); n=(20 7); for i in 0 1; do o=`find "${d[$i]}" -type f -maxdepth 1 | wc -l`; o=$((o<=n[$i]?0:o)); Ps "${d[$i]##*/} files"; done; o=$((`date +%s`-t)); Ps "Elapsed time (s)"; } 2>/dev/null | pbcopy; exit 2>&-

Copy the selected text to the Clipboard by pressing the key combination command-C.

Launch the built-in Terminal application in any of the following ways:

☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)

☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.

☞ Open LaunchPad. Click Utilities, then Terminal in the icon grid.

When you launch Terminal, a text window will open with a line already in it, ending either in a dollar sign ($) or a percent sign (%). If you get the percent sign, enter “sh” and press return. You should then get a new line ending in a dollar sign.

Click anywhere in the Terminal window and paste (command-V). The text you pasted should vanish immediately. If it doesn't, press the return key.


If you're logged in as an administrator, you'll be prompted for your login password. Nothing will be displayed when you type it. You will not see the usual dots in place of typed characters. Make sure caps lock is off. Type carefully and then press return. You may get a one-time warning to be careful. If you make three failed attempts to enter the password, the test will run anyway, but it will produce less information. In most cases, the difference is not important.

If you're not logged in as an administrator, you won't be prompted for your password. The test will still run. It just won't do anything that requires administrator rights.

The test may take up to a few minutes to run, depending on how many files you have and the speed of the computer. A computer that's abnormally slow may take longer to run the test. There is no indication of progress until it's done. Wait for the line "[Process completed]" to appear in the Terminal window. If you don't see that line within half an hour or so, the test probably won't complete in a reasonable time. In that case, close the Terminal window and report your results. No harm will be done.

When the test is complete, quit Terminal. The results will have been copied to the Clipboard automatically. They are not shown in the Terminal window. Please don't copy anything from there. All you have to do is start a reply to this comment and then paste by pressing command-V again.

If any private information, such as your name or email address, appears in the results, anonymize it before posting. Usually that won't be necessary.

When you post the results, you might see the message, "You have included content in your post that is not permitted." That's because the forum software falsely identifies something in the post as a violation of the terms of use. If that happens, please post the results on Pastebin, then post a link here to the page you created.

Note: This is a public forum, and others may give you advice based on the results of the test. They speak only for themselves, and I don't necessarily agree with them.


________________________________

Copyright © 2014 Linc Davis. As the sole author of this work, I reserve all rights to it except as provided in the Terms of Use of Apple Support Communities ("ASC"). Readers of ASC may copy it for their own personal use. Neither the whole nor any part may be redistributed.

Jan 21, 2014 9:23 AM in response to Linc Davis

Thanks for your answers. I tried Linc's one for now, as this is the faster one (I'll try the suggestion of the standard troubleshooting soon, except the hard disk ones because I've already done them).

So, I pasted the Unix command in the Terminal, but got an error : "-bash: !: event not found". I've already used quite a bunch of Terminal commands, but I have to admit I don't understand this one.

I tried the command on both accounts I have; of course, I copied&pasted. I even tried on my 10.6 Mac, out of curiosity, but the result was the same.


Waiting on further instructions (while I perform the other suggestion).

BTW: I'm not a beginner, you can avoid the effort of putting the detailed instructions if you want.

Jan 21, 2014 11:28 AM in response to Linc Davis

Here it is:

3.2.51(1)-release

cdable_vars off

cdspell off

checkhash off

checkwinsize on

cmdhist on

compat31 off

dotglob off

execfail off

expand_aliases on

extdebug off

extglob off

extquote on

failglob off

force_fignore on

gnu_errfmt off

histappend off

histreedit off

histverify off

hostcomplete on

huponexit off

interactive_comments on

lithist off

login_shell on

mailwarn off

no_empty_cmd_completion off

nocaseglob off

nocasematch off

nullglob off

progcomp on

promptvars on

restricted_shell off

shift_verbose off

sourcepath on

xpg_echo off

Jan 21, 2014 12:30 PM in response to Anic264b

Either you're not copying the whole script, or it's being garbled by your browser. Please copy the script again, then paste it (the script, not the output) into a reply. Use the advanced editor. Select the text you pasted and then click the >> icon in the toolbar of the editing window. Select


Syntax Highlighting ▹ Plain


from the menu that drops down. Then post the message.

Jan 21, 2014 1:22 PM in response to Linc Davis

clear; shopt -s extglob; Fb='%s\n\t(%s)\n'; Fm='\n%s:\n\n%s\n'; Fs='\n%s: %s\n'; Fu='user %s%%, system %s%%'; PB="/usr/libexec/PlistBuddy -c Print"; A () { [[ a -eq 0 ]]; }; R () { o=; [[ r -eq 0 ]]; }; Pm () { [[ "$o" ]] && o=`sed 's/^ */   /' <<< "$o"` && printf "$Fm" "$1" "$o"; }; Pc () { o=`egrep -v '^[[:blank:]]*($|#)' "$2"`; Pm "$1"; }; Pp () { o=`$PB "$2" | awk -F'= ' \/$3'/{print $2}'`; Pm "$1"; }; Ps () { o="${o##+( )}"; [[ ! "$o" =~ ^0?$ ]] && printf "$Fs" "$1" "$o"; }; id | grep -qw '80(admin)'; a=$?; A && sudo true; r=$?; t=`date +%s`; clear; { A || echo $'No admin access\n'; A && ! R && echo $'No root access\n'; system_profiler SPSoftwareDataType | sed '8!d;s/^ *//'; o=`system_profiler SPDiagnosticsDataType | sed '5,6!d'`; [[ "$o" =~ Pass ]] || Pm "POST"; o=`pmset -g therm | sed 's/^.*CP/CP/'`; egrep -q 'No th|pms' <<< "$o" && o=; Pm "Thermal conditions"; o=`pmset -g sysload | grep -v :`; grep -q '= [^GO]' <<< "$o" || o=; Pm "System load advisory"; o=`nvram boot-args | awk '{$1=""; print}'`; Ps "boot-args"; d=(/ ""); D=(System User); for i in 0 1; do o=`cd ${d[$i]}L*/L*/Dia* && ls !(*.diag) | tail | awk -F_ '{$NF=a[split($NF,a,".")]; print}'`; Pm "${D[$i]} diagnostics"; done; o=`syslog -F bsd -k Sender kernel -k Message CReq 'GPU |hfs: Ru|I/O e|n Cause: -|NVDA\(|pagin|SATA W|ssert|timed? ?o' | tail -n25 | awk '/:/{$4=""; $5=""; print}'`; Pm "Kernel messages"; o=`df -m / | awk 'NR==2 {print $4}'`; o=$((o<5120?o:0)); Ps "Free space (MiB)"; o=$(($(vm_stat | awk '/eo/{sub("\\.",""); print $2}')/256)); o=$((o>=1024?o:0)); Ps "Pageouts (MiB)"; s=( `sar -u 1 10 | sed '$!d'` ); [[ s[4] -lt 85 ]] && o=`printf "$Fu" ${s[1]} ${s[3]}` || o=; Ps "Total CPU usage" && { s=(`ps acrx -o comm,ruid,%cpu | sed '2!d'`); o=${s[2]}%; Ps "CPU usage by process \"$s\" with UID ${s[1]}"; }; s=(`top -R -l1 -n1 -o prt -stats command,uid,prt | sed '$!d'`); s[2]=${s[2]%[+-]}; o=$((s[2]>=25000?s[2]:0)); Ps "Mach ports used by process \"$s\" with UID ${s[1]}"; o=`kextstat -kl | grep -v com\\.apple | cut -c53- | cut -d\< -f1`; Pm "Loaded extrinsic kernel extensions"; R && o=`sudo launchctl list | sed 1d | awk '!/0x|com\.(apple|openssh|vix\.cron)|org\.(amav|apac|calendarse|cups|dove|isc|ntp|post[fg]|x)/{print $3}'`; Pm "Extrinsic system jobs"; o=`launchctl list | sed 1d | awk '!/0x|com\.apple|org\.(x|openbsd)|\.[0-9]+$/{print $3}'`; Pm "Extrinsic agents"; for d in {/,}L*/{La,Priv,Sta}*; do o=`ls -A "$d" | egrep -v '^(\.DS_Store$|com\.apple\.)'`; Pm "$d"; done; o=`find -L /S*/L*/E* {/,}L*/{A*d,Compon,Ex,In,Keyb,Mail,P*P,Qu,Scripti,Servi,Spo}* -type d -name Contents -prune | while read d; do ID=$($PB\ :CFBundleIdentifier "$d/Info.plist") || ID="No bundle ID"; egrep -qv "^com\.apple\.[^x]|Accusys|ArcMSR|ATTO|HDPro|HighPoint|driver\.stex|hp-fax|\.hpio|JMicron|microsoft\.MDI|print|SoftRAID" <<< $ID && printf "$Fb" "${d%/Contents}" "$ID"; done`; Pm "Extrinsic loadable bundles"; o=`find /u*/{,*/}lib -type f -exec sh -c 'file -b "$1" | grep -qw shared && ! codesign -v "$1"' {} {} \; -print`; Pm "Unsigned shared libraries"; o=`launchctl getenv DYLD_INSERT_LIBRARIES`; Pm "Inserted libraries"; o=`find {,/u*/lo*}/e*/periodic -type f -mtime -10d`; Pm "Modified periodic scripts"; o=`scutil --proxy | grep Prox`; Pm "Proxies"; o=`scutil --dns | awk '/r\[0\] /{if ($NF !~ /^1(0|72\.(1[6-9]|2[0-9]|3[0-1])|92\.168)\./) print $NF; exit}'`; Ps "DNS"; R && o=`sudo profiles -P | grep :`; Pm "Profiles"; for f in fstab sysctl.conf crontab launchd.conf; do Pc $f /etc/$f; done; Pc "hosts" <(grep -v 'host *$' /etc/hosts); Pc "User launchd" ~/.launchd; R && Pc "Root crontab" <(sudo crontab -l); Pc "User crontab" <(crontab -l); R && o=`sudo defaults read com.apple.loginwindow LoginHook`; Pm "Login hook"; Pp "Global login items" /L*/P*/loginw* Path; Pp "User login items" L*/P*/*loginit* Name; Pp "Safari extensions" L*/Saf*/*/E*.plist Bundle | sed 's/\..*$//;s/-[1-9]$//'; o=`find ~ $TMPDIR.. \( -flags +sappnd,schg,uappnd,uchg -o ! -user $UID -o ! -perm -600 \) | wc -l`; Ps "Restricted user files"; cd; o=`system_profiler SPFontsDataType | egrep "Valid: N|Duplicate: Y" | wc -l`; Ps "Font problems"; o=`find L*/{Con,Pref}* -type f ! -size 0 -name *.plist ! -exec sh -c 'plutil -s "$1" >&-' {} {} \; -print`; Pm "Bad plists"; d=(Desktop L*/Keyc*); n=(20 7); for i in 0 1; do o=`find "${d[$i]}" -type f -maxdepth 1 | wc -l`; o=$((o<=n[$i]?0:o)); Ps "${d[$i]##*/} files"; done; o=$((`date +%s`-t)); Ps "Elapsed time (s)"; } 2>/dev/null | pbcopy; exit 2>&-

Thanks

Jan 21, 2014 2:29 PM in response to Anic264b

OK, how about this:

clear; set -a +o history; shopt -s extglob; Fb='%s\n\t(%s)\n'; Fm='\n%s:\n\n%s\n'; Fs='\n%s: %s\n'; Fu='user %s%%, system %s%%'; PB="/usr/libexec/PlistBuddy -c Print"; A () { [[ a -eq 0 ]]; }; R () { o=; [[ r -eq 0 ]]; }; Pm () { [[ "$o" ]] && o=`sed 's/^ */ /' <<< "$o"` && printf "$Fm" "$1" "$o"; }; Pc () { o=`egrep -v '^[[:blank:]]*($|#)' "$2"`; Pm "$1"; }; Pp () { o=`$PB "$2" | awk -F'= ' \/$3'/{print $2}'`; Pm "$1"; }; Ps () { o="${o##+( )}"; [[ ! "$o" =~ ^0?$ ]] && printf "$Fs" "$1" "$o"; }; id | grep -qw '80(admin)'; a=$?; A && sudo true; r=$?; t=`date +%s`; clear; { A || echo $'No admin access\n'; A && ! R && echo $'No root access\n'; system_profiler SPSoftwareDataType | sed '8!d;s/^ *//'; o=`system_profiler SPDiagnosticsDataType | sed '5,6!d'`; [[ "$o" =~ Pass ]] || Pm "POST"; o=`pmset -g therm | sed 's/^.*CP/CP/'`; egrep -q 'No th|pms' <<< "$o" && o=; Pm "Thermal conditions"; o=`pmset -g sysload | grep -v :`; grep -q '= [^GO]' <<< "$o" || o=; Pm "System load advisory"; o=`nvram boot-args | awk '{$1=""; print}'`; Ps "boot-args"; d=(/ ""); D=(System User); for i in 0 1; do o=`cd ${d[$i]}L*/L*/Dia* && ls !(*.diag) | tail | awk -F_ '{$NF=a[split($NF,a,".")]; print}'`; Pm "${D[$i]} diagnostics"; done; o=`syslog -F bsd -k Sender kernel -k Message CReq 'GPU |hfs: Ru|I/O e|n Cause: -|NVDA\(|pagin|SATA W|ssert|timed? ?o' | tail -n25 | awk '/:/{$4=""; $5=""; print}'`; Pm "Kernel messages"; o=`df -m / | awk 'NR==2 {print $4}'`; o=$((o<5120?o:0)); Ps "Free space (MiB)"; o=$(($(vm_stat | awk '/eo/{sub("\\.",""); print $2}')/256)); o=$((o>=1024?o:0)); Ps "Pageouts (MiB)"; s=( `sar -u 1 10 | sed '$!d'` ); [[ s[4] -lt 85 ]] && o=`printf "$Fu" ${s[1]} ${s[3]}` || o=; Ps "Total CPU usage" && { s=(`ps acrx -o comm,ruid,%cpu | sed '2!d'`); o=${s[2]}%; Ps "CPU usage by process \"$s\" with UID ${s[1]}"; }; s=(`top -R -l1 -n1 -o prt -stats command,uid,prt | sed '$!d'`); s[2]=${s[2]%[+-]}; o=$((s[2]>=25000?s[2]:0)); Ps "Mach ports used by process \"$s\" with UID ${s[1]}"; o=`kextstat -kl | grep -v com\\.apple | cut -c53- | cut -d\< -f1`; Pm "Loaded extrinsic kernel extensions"; R && o=`sudo launchctl list | sed 1d | awk '!/0x|com\.(apple|openssh|vix\.cron)|org\.(amav|apac|calendarse|cups|dove|isc|ntp|post[fg]|x)/{print $3}'`; Pm "Extrinsic system jobs"; o=`launchctl list | sed 1d | awk '!/0x|com\.apple|org\.(x|openbsd)|\.[0-9]+$/{print $3}'`; Pm "Extrinsic agents"; for d in {/,}L*/{La,Priv,Sta}*; do o=`ls -A "$d" | egrep -v '^(\.DS_Store$|com\.apple\.)'`; Pm "$d"; done; o=`find -L /S*/L*/E* {/,}L*/{A*d,Compon,Ex,In,Keyb,Mail,P*P,Qu,Scripti,Servi,Spo}* -type d -name Contents -prune | while read d; do ID=$($PB\ :CFBundleIdentifier "$d/Info.plist") || ID="No bundle ID"; egrep -qv "^com\.apple\.[^x]|Accusys|ArcMSR|ATTO|HDPro|HighPoint|driver\.stex|hp-fax|\.hpio|JMicron|microsoft\.MDI|print|SoftRAID" <<< $ID && printf "$Fb" "${d%/Contents}" "$ID"; done`; Pm "Extrinsic loadable bundles"; o=`find /u*/{,*/}lib -type f -exec sh -c 'file -b "$1" | grep -qw shared && ! codesign -v "$1"' {} {} \; -print`; Pm "Unsigned shared libraries"; o=`launchctl getenv DYLD_INSERT_LIBRARIES`; Pm "Inserted libraries"; o=`find {,/u*/lo*}/e*/periodic -type f -mtime -10d`; Pm "Modified periodic scripts"; o=`scutil --proxy | grep Prox`; Pm "Proxies"; o=`scutil --dns | awk '/r\[0\] /{if ($NF !~ /^1(0|72\.(1[6-9]|2[0-9]|3[0-1])|92\.168)\./) print $NF; exit}'`; Ps "DNS"; R && o=`sudo profiles -P | grep :`; Pm "Profiles"; for f in fstab sysctl.conf crontab launchd.conf; do Pc $f /etc/$f; done; Pc "hosts" <(grep -v 'host *$' /etc/hosts); Pc "User launchd" ~/.launchd; R && Pc "Root crontab" <(sudo crontab -l); Pc "User crontab" <(crontab -l); R && o=`sudo defaults read com.apple.loginwindow LoginHook`; Pm "Login hook"; Pp "Global login items" /L*/P*/loginw* Path; Pp "User login items" L*/P*/*loginit* Name; Pp "Safari extensions" L*/Saf*/*/E*.plist Bundle | sed 's/\..*$//;s/-[1-9]$//'; o=`find ~ $TMPDIR.. \( -flags +sappnd,schg,uappnd,uchg -o ! -user $UID -o ! -perm -600 \) | wc -l`; Ps "Restricted user files"; cd; o=`system_profiler SPFontsDataType | egrep "Valid: N|Duplicate: Y" | wc -l`; Ps "Font problems"; o=`find L*/{Con,Pref}* -type f ! -size 0 -name *.plist ! -exec sh -c 'plutil -s "$1" >&-' {} {} \; -print`; Pm "Bad plists"; d=(Desktop L*/Keyc*); n=(20 7); for i in 0 1; do o=`find "${d[$i]}" -type f -maxdepth 1 | wc -l`; o=$((o<=n[$i]?0:o)); Ps "${d[$i]##*/} files"; done; o=$((`date +%s`-t)); Ps "Elapsed time (s)"; } 2>/dev/null | pbcopy; exit 2>&-

Jan 21, 2014 4:04 PM in response to Linc Davis

I'd really like to tell it worked, but I got the same result. Would it help if I copy/paste the Terminal text from the start of the command (immediately after the prompt) thru the end of the result in a new reply, so you can see the whole execution)?

It feels strange, as I'm sure your command should work; what's wrong in my setup? I couldn't find something that depends on my OS language (French) in your command, so what else?

MacBook Pro is slow since 10.9

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.