L'esecuzione di "yes> / dev / null" può danneggiare un Mac?


36

Di recente ho corso yes > /dev/nullper 3 minuti per scaricare la batteria del mio Mac. Durante quel periodo, la temperatura salì a 72 ° C e le ventole girarono fino a 4000 RPM. Ho immediatamente abbandonato il processo.

Dovrei temere che questo hardware danneggiato o la scheda logica siano danneggiati?


9
Pensi che i Mac siano progettati per essere danneggiati giocando a giochi 3D, compilando grandi progetti software e così via?
user253751

3
Vorrei aggiungere qui che un mio amico è riuscito a fondere la tastiera del suo piccolo notebook Apple (non chiedermi il modello esatto) compilando alcuni grandi progetti. Successivamente il tasto A è stato leggermente deformato. Ancora funzionale, ma potresti vedere la differenza.
Byte comandante

3
/dev/nullAlla fine usurerai il foro sulla porta, quindi avrai bisogno di pistoni sovradimensionati, ma aspetta di vedere il fumo dallo scarico prima di correre da un meccanico.
user207421

@EJP - Questo è sicuramente vero, ma iniettare un buon lubrificante sintetico direttamente nella porta può aiutare a prolungare la durata. Ho anche sentito che Seafoaming una pseudo tty ha benefici significativi.
Allan,

Cosa intendi con il tuo commento? @EJP

Risposte:


3

Certamente come altri hanno già detto: la CPU e il kernel hanno entrambe le proprie strategie di autoconservazione.

Aggiungerò un po 'di sapore su come yes usa le risorse del computer.

Vale la pena distinguere tra il comportamento di BSD yese GNU yes.
macOS è un BSD, quindi utilizzerà una (vecchia) distribuzione di BSD yes.

Una buona discussione delle differenze esiste in Come è GNU yescosì veloce?

E una discussione di quella discussione esiste sul thread di Hacker News con lo stesso nome .

BSD / macOS yesfunziona davvero puts("y");in un ciclo stretto.
GNU yesè ... un po 'più serio. Ha ottimizzazioni che vanno ben oltre il semplice buffering dell'I / O.


55

Le istruzioni per yesavere questo piccolo gioiello dalla pagina man :

L'uso di yes comporta un utilizzo del processore pari al 100%, per questo motivo viene utilizzato raramente se non per test, ad esempio per massimizzare la CPU di un computer.

Ciò significa che no, non avrai danneggiato l'hardware. L'uso del yescomando è un modo di usare tutto (cioè il 100%) della tua CPU. In queste circostanze ci si possono aspettare i sintomi che si sono verificati (ovvero un aumento della temperatura e il conseguente aumento del numero di giri del ventilatore). Inoltre, la CPU "rallenterà" e alla fine si spegnerà se viene superata la soglia termica per evitare danni.


2
Completamente d'accordo. Le macchine possono funzionare a una CPU di 100 gradi per ore e hanno molte protezioni per ridurre la programmazione della CPU se il raffreddamento non tiene il passo.
bmike

1
Ma ho sentito che mentre eseguo loop mentre l'esecuzione può sciogliere alcune parti. E quanto tempo avrei dovuto lasciare in esecuzione il comando yes in modo che il mio Mac raggiungesse 105 C?

3
È sempre meglio andare con dati empirici documentati piuttosto che per sentito dire. Ad esempio, vedi: Intel - Come funziona l'arresto per surriscaldamento? Per quanto riguarda il tempo richiesto, 1) dipende dal tuo ambiente operativo fisico e 2) cosa stai cercando di realizzare? Questa, tuttavia, è una domanda diversa rispetto a ciò che era originariamente posto.
Allan,

3
È un'affermazione abbastanza sorprendente dalla pagina man! Mentre eseguirlo da solo è, concordo, abbastanza inutile, collegarlo a un altro comando può essere abbastanza utile di volta in volta.
Muzer,


8

Il yescomando semplicemente scrive ripetutamente una stringa su stdout, il carattere y per impostazione predefinita. Il reindirizzamento ( >) per /dev/nullcausare semplicemente la dimenticanza dei dati del flusso. In altre parole, questo non ha alcun effetto duraturo sullo stato persistente del computer, non è un comando dannoso attraverso questo obiettivo.

Poiché il comando yes scrive una stringa su stdout senza alcun vincolo sulla velocità di uscita, ciò farà sì che la CPU raggiunga il massimo utilizzo su un core. Questa è la causa dell'aumento della temperatura del processore e dell'aumento della velocità della ventola associato.

In una macchina moderna, in particolare una ben progettata come un laptop Apple, l'hardware proteggerà se stesso da danni da surriscaldamento. Innanzitutto aumentando la velocità della ventola, quindi diminuendo la velocità di clock del processore e infine arrestando il processore. Senza eludere intenzionalmente queste funzionalità, l'hardware non si è surriscaldato. La macchina va bene.

Hai menzionato una temperatura di 72 ° C in particolare. Questa non è una temperatura molto alta per un die CPU. Una CPU mobile modesta, i5-7260U, specifica una temperatura massima consentita di 100 ° C. Puoi vedere le specifiche come T_Junction nella sezione specifiche del pacchetto di questa pagina: http://ark.intel.com/products/97539/Intel-Core-i5-7260U-Processor-4M-Cache-up-to-3_40- GHz


-2

La triste verità è: questo può "danneggiare un Mac ".

L'esempio reale fornito nel corpo della domanda: molto probabilmente questo non ha danneggiato il dispositivo. Concesso.

Ma come risposta generale alla domanda nel titolo: dipende dal tipo di Mac di cui stiamo parlando. Il consiglio e il ragionamento forniti finora su questa domanda o nei commenti non sono universalmente veri e possono essere piuttosto pericolosi! C'è troppa fiducia e fede nella mera convinzione che l'hardware Apple sia il migliore che esista.

Semplicemente non è vero che Apple progetta ora o ha progettato in passato tutti i suoi sistemi per non farsi del male a causa del surriscaldamento. Mentre è vero che ciò non dovrebbe accadere , è anche vero che ciò accada . E ha fatto:

Il primo esempio di ciò sono i MacBook Pro, in particolare quelli dal 2010-2012. Mentre il chip Intel che è principalmente stressato yessu tutti i thread per un periodo di tempo prolungato rallenterà, gestirà abbastanza bene le alte temperature e anche il sistema operativo accenderà e accelererà kernel_task per fare nulla di utile tranne aiutare a raffreddare la macchina, il discreto chip sulla stessa heatpipe è la controparte vulnerabile lì.

Sottolineare inutilmente questi sistemi, come nel caso di yes, accelera il fallimento del chip grafico RadeonGate. Ci sono numerosi esempi di domande sul 8,2 2011 più pesantemente fatto proprio su questo sito. Questo errore della GPU è un problema termico. Ci sono persino guide là fuori su come uccidere la macchina semplicemente eseguendo pesanti rendering 3D o benchmark per un certo periodo. Questi sistemi sono stati pubblicizzati ma non adatti per es. Rendering o giochi. Le cause legali (solo minacciate) e i programmi di estensione per riparazioni parlano da soli.


1
Possiedo un MacBook all'inizio del 2015 con display Retina non un MacBook 2011 per le informazioni.

Questa risposta è fondamentalmente errata. yesnon interagisce in alcun modo con una GPU. La fonte per yessolo chiama le maggior parte delle librerie di base; nessuna di queste era la libreria matematica (al minimo richiesto per accedere alla GPU). In secondo luogo, il video che hai collegato non si collega in alcun modo yesa GPU fallite. Rossman collega GPU fallite con produzione scadente.
Allan,

Non è fondamentalmente errato sui dispositivi forniti. La mia risposta riguarda la differenziazione tra i dispositivi. E si tratta di produzione scadente e design intrinsecamente scadente. yessottolinea la CPU. Una CPU stressata si surriscalda. La temperatura viene quindi aumentata sul dissipatore e lo stesso dissipatore deve raffreddare le GPU vulnerabili. Quel dissipatore di calore / design termico non riesce a farlo regolarmente sulla maggior parte degli 8,2 MBP.
LängLаngС,

@LangLangC - Il dissipatore di calore / il design termico falliscono. Questo è un errore logico. Non ci sono prove che una CPU calda (er) ostacoli le proprietà di dissipazione di energia del dissipatore di calore causando il fallimento della GPU e tu fornisca prove a supporto del reclamo. Il video che hai collegato (tutti i 17 minuti) non fa menzione di temperature della CPU più elevate o di stressare la CPU.
Allan,

Le prove sono nel tasso di fallimento in queste unità. Hai visto questi dissipatori di calore? È fisica semplice.
LängLаngС,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.