Qual è il collo di bottiglia delle prestazioni durante l'avvio di applicazioni di grandi dimensioni su OS X?

1

Ho un MacBook Pro di inizio 2011 13 (i5 2.3 Ghz). L'ho aggiornato con RAM da 8 GB 1333 e un SSD OCZ Vertex II (120 GB).

Ci sono un paio di app per il sollevamento pesante sul mio Mac che impiegano circa 10 secondi per il lancio ( WebStorm come uno di loro).

Speravo che avere un SSD nella macchina avrebbe aumentato le prestazioni (e lo è stato) ma sono ancora troppo impaziente per queste attese.

Sto pensando di installare un secondo SSD OCZ Vertex III (120GB) nello slot superdrive e configurarlo in un RAID0 nella speranza di aumentare ulteriormente le prestazioni del disco.

La mia domanda è: quali sono i principali colli di bottiglia che causano l'avvio lento delle app sul mio Mac? Se è qualcosa di diverso dal disco, potrei anche risparmiare il mio $$$.

    
posta Chase Florell 08.05.2012 - 21:48
fonte

1 risposta

2

Activity Monitor è un buon punto di partenza. Come minimo, è possibile determinare se il proprio sistema si sta vincolando alla CPU quando si avvia l'applicazione di grandi dimensioni. Può anche mostrare come viene utilizzata la memoria di sistema e se si sta verificando uno scambio eccessivo. Note KB Apple :

Tip: Page outs occur when the Mac has to write information from RAM to the hard drive (because RAM is full). Adding more RAM may reduce page outs.

Questo post Quora ha un riferimento a un altro ottimo strumento: l'utilità Shark di Apple Developer Tool Suite:

Shark from the Developer Tools suite (CHUD) provide even more powerful process inspection capabilities and organizes bottom-up and top-down trees of where your time goes for the entire space of function calls, and is even decent at explaining where the bottlenecks are, sometimes suggesting low-level optimizations.

Note relative alla di Apple

Shark is an advanced tool for sampling or tracing a single application or all running applications. Like Instruments, Shark provides a set of powerful analysis tools with an easy-to-use interface to help you gather performance data. Shark helps you isolate problems quickly by providing a rich set of data-mining features and is an indispensable tool for finding performance bottlenecks. It provides optimization tips and help with analyzing assembly-level operations. Because it traces operations down at the kernel-level of the system, Shark can also provide you with tremendous insight about the behavior of your application relative to the rest of the system.

Among the types of operations you can perform in Shark are the following:

  • Statistical sampling of your application over a period of time
  • System-level tracing
  • Malloc tracing
  • Static analysis
  • L2 Cache profiling
  • Processor bandwidth analysis
  • Java code analysis

In addition to basic sampling, Shark also offers the windowed time facility feature for several of its sampling options. The windowed time facility tells Shark to record and process a finite buffer of the most recently acquired samples. This feature lets Shark record data continuously and for long periods of time in the background. You can then direct Shark to stop sampling only after something interesting occurs in your code and to display the samples related to that interesting behavior. Thus, you can use this feature to determine what part of your program’s execution is interesting after it occurs.

For a quick example of how to use Shark, see “Using Shark.” For detailed information about Shark, see Shark User Guide.

La pagina elenca anche una serie di altri strumenti nella suite di strumenti per sviluppatori che possono essere utilizzati per monitorare le prestazioni del sistema e, auspicabilmente, individuare eventuali colli di bottiglia prima di acquistare il secondo SSD.

    
risposta data 09.05.2012 - 02:47
fonte

Leggi altre domande sui tag