La compilazione con clang nel terminale è estremamente lenta dopo aver visto un messaggio che il mio disco è quasi pieno. Come ripristinare le prestazioni?

1

Ho rimosso i file quindi ora ho 18,7 GB di spazio libero dopo aver ricevuto il messaggio di ricerca che il mio spazio di archiviazione è quasi pieno.

Tuttavia, la compilazione è estremamente lenta. Mi chiedo se ci sia qualche impostazione che mi è sfuggita.

Come posso rimediare a questo?

    
posta rwols 17.11.2016 - 14:16
fonte

1 risposta

1

Se sei su un disco rigido che gira e rimuovi una grande quantità di file, potresti avere un'allocazione non ottimale di alcuni file. Se disponi di un SSD, dovrai definire il profilo del processo di creazione per determinare il collo di bottiglia effettivo.

Solo per confermare, il comando df -g elenca 18,7 GB gratuiti per il volume del sistema operativo? Supponendo di sì, non hai perso impostazioni come la pulizia di istantanee locali nella macchina del tempo o lo svuotamento del cestino.

Per la situazione dell'HDD, puoi testarlo spegnendo il Mac dopo aver rimosso i file sorgente o copiato su un'altra unità.

Dopo il riavvio, potresti correre per un giorno (imposta il Mac affinché non dorme mai) e l'ottimizzazione dei file attivi inizierà a spostare i file a cui non si accede spesso dalla parte più veloce del disco rigido.

Quindi - sposta il codice sorgente indietro e prova una compilazione. A quel punto, se sei ancora lento, devi entrare in specifiche: usa il comando time per cronometrare le compilazioni e quindi profilare il sistema con vm_stat 5 o simili come Activity Monitor per vedere se sei vincolato dalla RAM o da CPU o da IO. Anche iostat sarà molto utile per misurare gli iops e leggere / scrivere le velocità di trasferimento aggregate in modo da sapere come si accede al tuo spazio di archiviazione momento per momento mentre clang funziona.

I passaggi precedenti sulla mia macchina mostrano che io e lo storage hanno un impatto molto basso sul compilatore e invece la CPU e il threading della build sarebbe come accelerarlo, ma la mia base di codice è probabilmente molto diversa dalla tua.

    
risposta data 17.11.2016 - 22:34
fonte

Leggi altre domande sui tag