Impatti negativi dell'utilizzo di CPU e memoria elevate per alcuni secondi?


0

Ho creato un cingolato per uso personale che richiede molte pagine curl_multi_exec. Utilizza il 98% di CPU e memoria per 10 secondi sul mio laptop. Sto solo strisciando intorno a 1000 pagine, ma volevo fare di più. C'è un limite che il mio laptop deve impedire che si blocchi? Posso eseguire la scansione di un numero maggiore di pagine?

E per la domanda principale, sto distruggendo il mio laptop un po 'ogni volta che lo faccio?

Risposte:


1

Un sistema operativo ben progettato dovrebbe gestire qualsiasi carico di CPU e memoria.

Non hai menzionato quale sistema operativo stai utilizzando, ma sia Linux che Windows dovrebbero gestire carichi del genere per periodi di tempo più lunghi. In casi estremi il tuo processo può essere interrotto dal sistema operativo, specialmente su macchine Linux. Windows cercherà piuttosto di limitare l'utilizzo della CPU / mem invece di ucciderlo all'istante.

Per la tua seconda domanda: alcune persone dicono che i chip di silicio si consumano un po '. Ma ci sono molti casi di CPU in esecuzione con un carico del 100% per 24 ore su 24, 7 giorni su 7 (ad esempio server). Non devi preoccuparti finché il tuo raffreddamento è giusto.

Tuttavia, forse dovresti ripensare il problema: dividere il lavoro in lavori più piccoli separati è di solito una buona idea.


Ho diviso il lavoro interrogando 10 pagine alla volta e il mio laptop si è comunque bloccato. Ho dovuto fare un ripristino del sistema. Ho paura di riprovare.
John Smith,

2
curl_multi_execsembra essere una funzione PHP; considera se puoi aggiungere qualcosa di simile usleep(50000)da qualche parte nel tuo ciclo principale. Non penso che PHP sia abbastanza intelligente da sleep(0)funzionare come un suggerimento per lo scheduler che il processo può succhiare il fango, ma forse un sonno di 50 ms sarà abbastanza di un suggerimento; in caso contrario, sleep(1)dovrebbe sicuramente impedire allo script di far funzionare la CPU, anche se molto probabilmente rallenterà molto la ricerca per indicizzazione.
Aaron Miller,

@AaronMiller, non c'è motivo di evitare di utilizzare la CPU al massimo delle sue capacità, come spiega questa risposta.
psusi,

@psusi Non nel caso generale, no. Ma se, come spiegato in dettaglio in altre risposte e commenti in questa pagina, l'esecuzione della CPU al 100% è garantita, grazie al pessimo raffreddamento del laptop, per surriscaldarla dopo un po 'e forzare un arresto della protezione termica, allora direi che rende un ottimo motivo per lanciare alcune sleep()chiamate lì dentro, non credi?
Aaron Miller,

@AaronMiller, non è affatto garantito, al contrario. Se mai dovesse succedere, hai un laptop rotto che dovresti RMA. Una soluzione molto migliore è anche quella di rallentare manualmente la CPU anziché aggiungere sleep a un programma.
psusi,

1

C'è un limite che il mio laptop deve impedire che si blocchi?

I processori moderni rallenteranno o spegneranno il computer se iniziano a surriscaldarsi, per prevenire danni.

http://www.intel.com/support/processors/sb/CS-029426.htm

Questo non vuol dire che tutti i laptop a basso costo di fascia consumer saranno in grado di gestirlo.

Ho creato un cingolato per uso personale che interroga molte pagine con curl_multi_exec. Utilizza il 98% di CPU e memoria per 10 secondi sul mio laptop.

"un programma che consuma il 100% di CPU nel perseguimento di qualcosa di veramente poco degno di disprezzo; anzi, dovrebbe essere lodato per l'efficienza!" - http://blogs.msdn.com/b/oldnewthing/archive/2010/12/03/10097861.aspx

(L'autore Raymond Chen è un dipendente Microsoft ben informato).

Sto solo strisciando intorno a 1000 pagine, ma volevo fare di più. C'è un limite che il mio laptop deve impedire che si blocchi? Posso eseguire la scansione di un numero maggiore di pagine?

L'ideale è che tutto si adatti alla memoria. Se esce dalla memoria, Windows inizierà a utilizzare lo spazio su disco come estensione della memoria. Questo è, tuttavia, molto più lento. Se si esaurisce lo spazio su disco o si dispone di una dimensione fissa del file di paging, il processo non sarà in grado di utilizzare più memoria. Se è ben scritto, lo gestirà, altrimenti si bloccherà.

E per la domanda principale, sto distruggendo il mio laptop un po 'ogni volta che lo faccio?

Nessun più del normale utilizzo. L'ideale è che un processore valutato per la velocità X possa funzionare continuamente a quella velocità. Non è come un motore in cui hanno un ciclo di lavoro previsto 2 ore su 4 ore di spegnimento, ecc.

Naturalmente, il tuo laptop specifico potrebbe avere difetti di progettazione, tolleranze scarse, avere un sistema di raffreddamento che non può far fronte al 100% della piena potenza, avere difetti dei componenti, il tuo software potrebbe avere bug, interazioni di tutte le patch e versioni e programmi specifici installato potrebbe causare comportamenti strani ...


Anche se ha solo 3 anni, penso in base a quanto l'ho usato, il suo sistema di raffreddamento ha determinato. Grazie per le risposte dirette.
John Smith,

1

Uso della CPU

  • Quando un processore esegue le istruzioni, emette gradualmente calore ("dissipazione del calore"). Più istruzioni esegue in un determinato periodo di tempo, più calore dissipa. Le CPU sono progettate in modo da essere limitate in quante istruzioni possono eseguire in un determinato periodo di tempo; se fossero illimitati, la CPU si riscalderebbe così tanto da iniziare a raggiungere il punto di fusione dei composti chimici utilizzati per costruirlo e alla fine potrebbe prendere fuoco.

  • La dissipazione del calore è gestita in tre modi: raffreddamento , controllo del firmware e limitazioni hardware / software .

  • Il raffreddamento tenta attivamente di allontanare il calore dal processore, che lo raffredda. Il raffreddamento nella maggior parte dei computer viene effettuato montando un pezzo di metallo altamente conduttivo, chiamato dissipatore di calore , sulla parte superiore della CPU. Il dissipatore di calore è efficace perché il metallo utilizzato "sottrarrà" il calore del processore toccando fisicamente il processore a caldo e trasferendo il calore nel materiale del dissipatore di calore a una velocità rapida. Il dissipatore ha quindi aria fresca soffiata su di esso da una ventola, che raffredda il dissipatore riscaldando l'aria. L'aria viene quindi espulsa dal case e nell'ambiente. Configurazioni più avanzate possono utilizzare acqua o azoto liquido come un modo di raffreddamento più estremo dell'aria, ma i dissipatori di calore sono usati quasi universalmente.

  • Controllo del firmwareè un software implementato nella CPU e / o nel sistema operativo che tenta di rallentare la CPU se il monitoraggio termico (fondamentalmente un termometro) rileva che la CPU si sta surriscaldando. Rallentando la CPU, è possibile notare prestazioni dell'applicazione ridotte, ma l'hardware della CPU viene mantenuto in uno stato funzionale stabile, riducendo la dissipazione del calore a un livello che l'hardware di raffreddamento può dissipare in modo affidabile. Il software di controllo del firmware su CPU moderne (prodotto negli ultimi 5 anni) è estremamente avanzato e può ottimizzare la velocità di esecuzione della CPU in modo che sfrutti tutta la potenza del processore disponibile, senza riscaldare la CPU a livelli non sicuri - anche se la soluzione di raffreddamento non è ottimale; ad esempio, se il condotto di ventilazione è pieno di polvere, l'aria utilizzata per raffreddare il dissipatore di calore sarà relativamente calda, e non farà un ottimo lavoro di dissipazione del calore. In questo scenario, la CPU rallenterebbe per evitare il surriscaldamento, grazie al firmware che fa il suo lavoro.

  • Limitazioni hardware / software sono limiti fisici del dispositivo o del sistema operativo che, in base alla progettazione, moderano quanta corrente / tensione può essere utilizzata dalla CPU e quante istruzioni può eseguire al secondo. Ad esempio, il modulo regolatore di tensione (VRM) sulla CPU o sulla scheda madre determinerà la quantità di tensione da immettere nella CPU. Altri fattori, come la sincronizzazione obbligatoria (come l'attesa per lo svuotamento di una pipeline o lo svuotamento della linea della cache) rallenteranno la CPU durante l'esecuzione di determinate funzioni software, come le chiamate di sistema o le primitive di sincronizzazione dei thread. Queste limitazioni sono inevitabili e spesso vengono visualizzate in una luce negativa perché limitano la quantità di prestazioni che la CPU può raggiungere, ma queste limitazioni impediscono anche il surriscaldamento della CPU.

In generale, i sistemi progettati da rinomati produttori sono progettati in modo tale che, in attesa della modifica dell'utente dell'hardware o di condizioni ambientali estremamente sfavorevoli (una stanza molto calda, prese d'aria intasate di polvere, ecc.), L'hardware dovrebbe essere in grado di funzionare sempre alla massima velocità senza essere rallentato artificialmente. Questo perché il produttore testerà la soluzione di raffreddamento "sotto carico" e si assicurerà che i fan stiano facendo abbastanza flusso d'aria per mantenere la CPU fresca mentre è molto occupata, e assicurarsi che il dissipatore di calore trasferisca il calore lontano dalla CPU abbastanza veloce da tenere il passo con la dissipazione del calore.

In breve, quando si utilizza la CPU al 100% su un sistema ben progettato con un raffreddamento sufficiente, non si verificheranno effetti negativi e la CPU è effettivamente progettata per funzionare a questo livello; non puoi costringerlo a "superare" il 100% perché quella scala 0 - 100% è determinata dalla velocità di clock della CPU e da altri fattori della microarchitettura che i tuoi programmi applicativi non possono modificare. Si noti che è possibile andare oltre il 100% del carico , ma il carico non è equiparato alla velocità effettiva effettiva: il carico è la quantità di programmi di domanda che stanno ponendo sulla CPU, ma mentre la domanda può superare la velocità effettiva , ciò non farà aumentare la velocità effettiva oltre il suo massimo del 100%.

Utilizzo RAM

L'utilizzo della RAM è una cosa completamente diversa e non ha nulla a che fare con il raffreddamento (in generale). L'uso di tutta la RAM con i programmi può avere effetti dannosi sul sistema, ma ciò rallenta principalmente le prestazioni. È piuttosto difficile arrestare in modo definitivo un sistema con un BSOD utilizzando tutta la RAM in questi giorni, perché il programma otterrà un errore di memoria esaurita e arresti anomali, prima che il sistema operativo si arresti in modo anomalo. È possibile in condizioni estreme, però. L'utilizzo della RAM non ha alcun effetto negativo sull'hardware.


+1 lo schermo del mio laptop è appena diventato nero e sono rimasto lì, quindi alla fine ho dovuto spegnere e ripristinare il sistema.
John Smith,

0

Esegui un programma antivirus e vedrai un utilizzo superiore al 98% per più di 10 secondi ... Non vedo un problema.


ma se ne aggiungessi altri 1000, il laptop andrà in crash? Esiste un limite per la CPU e la memoria? Ho sentito parlare di "schermate blu" e di arresti anomali dovuti all'uso di memoria elevata. Non ci sono limiti curl_exec_multi, quindi interroga le pagine contemporaneamente senza limiti .
John Smith,

1
Il kernel ucciderà il tuo programma se alloca tanta memoria che non rimane più per soddisfare i suoi ulteriori tentativi di allocazione, ma non vedrai un panico del kernel (BSoD, ecc., A seconda della piattaforma) in quella situazione a meno che qualcosa non vada storto l'hardware sottostante.
Aaron Miller,

@AaronMiller Sì, prima di pubblicare, ho provato e il mio laptop si è bloccato. Ho dovuto fare un ripristino del sistema.
John Smith,

1
@JohnSmith Mi dispiace essere portatore di cattive notizie, quindi. Se fosse visualizzato in blu, inizierei con Memtest86 + per scoprire se è la tua RAM a essere difettosa, che è la causa più comune che ho visto per simili incidenti. Se si spegnesse da solo senza un congedo, allora consiglierei di indagare sulla sua situazione di raffreddamento; le moderne CPU includono la protezione termica e si spengono prima di surriscaldarsi fino al punto di danneggiamento fisico, e comunque i laptop tendono ad avere un pessimo raffreddamento. Se fosse già marginale, guidarlo al 100% per un po 'provocherebbe sicuramente un arresto termico.
Aaron Miller,

@AaronMiller Grazie aaron, sul lato positivo, ha ripristinato il laptop ad un punto migliore HAHAHA. Ho ripristinato molti file che pensavo di aver perso. Miglior giorno di sempre!
John Smith,

0

Supponendo che la tua CPU abbia un raffreddamento adeguato, puoi eseguirla al 100% di utilizzo per sempre e non danneggerà il computer in alcun modo. Lo stesso vale per i tuoi chip di memoria.

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.