Un ingegnere Microsoft spiega come un codice scadente può causare rallentamenti sui PC Windows

Un ingegnere Microsoft spiega come un codice scadente può causare rallentamenti sui PC Windows

Eliminazione graduale del supporto per Windows 10: come superare potenziali problemi

Con l’avvicinarsi della chiusura del periodo di supporto per Windows 10, Microsoft ha recentemente pubblicato un promemoria fondamentale per gli utenti. L’azienda ha anche pubblicato un elenco di PC Surface che non possono essere aggiornati a Windows 11 a causa di requisiti di sistema non soddisfatti. La raccomandazione è chiara: valutare l’investimento in un nuovo dispositivo, preferibilmente un PC Copilot+, per garantire prestazioni ottimali.

Reazioni degli utenti alle modifiche del sistema operativo

Alla luce di questa imminente transizione, molti utenti domestici stanno discutendo sulle loro strategie future. Gli utenti che utilizzano ancora sistemi precedenti al 2015 che non supportano Windows 11 stanno valutando un ritorno a Windows 8 o 8.1. Questa scelta è in gran parte attribuibile alla percezione che il vecchio sistema operativo offra una migliore reattività rispetto a Windows 10. Tuttavia, è importante notare che Windows 8.1 ha raggiunto la fine del suo ciclo di supporto a gennaio 2023, il che lo rende una scelta meno sicura nonostante la sua velocità percepita.

Cause sottostanti della lentezza del sistema

Molti utenti riscontrano prestazioni lente sui propri dispositivi, spesso attribuendo questo problema all’hardware obsoleto. Un interessante editoriale di David Uzondu intitolato “Il software poco performante è il motivo per cui pensi di aver bisogno di nuovo hardware” sottolinea l’importanza dell’ottimizzazione del software. Un recente post sul blog di Matt Hamrick, Senior Escalation Engineer di Microsoft, è in linea con questa prospettiva, concentrandosi su come i problemi di gestione della memoria possano influire gravemente sulle prestazioni del sistema.

Gestione della memoria e prestazioni delle applicazioni

Nel suo blog, Hamrick discute l’impatto delle perdite di memoria e delle condizioni di out-of-memory (OOM) causate da una scarsa ottimizzazione del software. Utilizzando un’applicazione. NET 7 aggiornata come caso di studio, illustra come un reloadOnChangeparametro configurato in modo errato possa causare gravi problemi di prestazioni. Se impostato su “true” anziché su “false”, questa svista può causare perdite di memoria, con conseguente degrado delle prestazioni del sistema o persino crash dell’applicazione.

Comprensione del reloadOnChangeparametro

Il reloadOnChangeparametro informa il sistema di monitorare file specifici per eventuali modifiche alle impostazioni. Questa funzione consente il ricaricamento dinamico, consentendo alle applicazioni di accedere immediatamente ai valori modificati senza richiedere un riavvio. Purtroppo, l’uso improprio di questa funzionalità può portare a un graduale esaurimento della memoria, con conseguente impatto negativo sull’efficienza del sistema.

Approfondimenti di esperti sull’ottimizzazione del codice

Hamrick sottolinea l’importanza di pratiche di codifica appropriate, spiegando:

L’impatto di questo codice sarà maggiore quanto più spesso verrà eseguito. Il problema non è evidente, ma questo è il fattore scatenante: reloadOnChange: true.

….

reloadOnChange: trueè pensato per essere utilizzato solo durante l’avvio dell’app se viene utilizzato un file di configurazione personalizzato che ASP. NET stesso non utilizza già automaticamente (supponendo che le impostazioni predefinite non siano state modificate).

Invece, come accennato in precedenza, alcune persone hanno erroneamente utilizzato questo codice in qualcosa come un’azione del Controller o un componente middleware per ottenere l’accesso ad alcuni valori di configurazione necessari, senza sapere cosa stesse facendo dietrofront (e senza sapere che la configurazione che in genere cercavano era già caricata (e monitorata) nel sistema di configurazione dell’app).

Strumenti per la diagnosi dei problemi di memoria

Utilizzando diversi strumenti di debug, tra cui WinDbg, Hamrick è riuscito a identificare le inadeguatezze nel codice problematico. Per chi fosse interessato, il post completo è disponibile qui sul sito web della Tech Community di Microsoft.

È interessante notare che, sebbene l’analisi di Hamrick si concentri su un’applicazione sviluppata con. NET 7, i problemi discussi non sono esclusivi di questa versione. Possono avere un impatto anche sulle applicazioni create con versioni supportate del framework. NET.

Fonte e immagini

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *