Cosa usa tutta la mia memory?

SOLUZIONE: C'è molto da leggere in questo thread, quindi riassumo qui per aiutarti.

Il problema è il driver palloncino VMWare ESX che "gonfia" la quantità di memory "in uso" che il sistema operativo vede per forzare il sistema operativo a scaricare le cache e ridurre la dimensione del set di lavoro. Ciò crea una grande quantità di RAM fisico "in uso" che non è ansible considerare guardando i processi. È ansible esaminare il grafico di performance della console VMWare per i VM e vedere il driver dell'aerostato in uso.

La soluzione alla performance è stata quella di aumentare la quantità di memory riservata per il server, che limita la quantità di memory che il pilota balloon può rubare da te.

Ho un Terminal Server di Windows 2003 a 32 bit che esegue una copia locale di SQL Server (versione completa, non espressa) e ospita un ambiente di sviluppo di Visual Studio 2008 per diversi sviluppatori. Le macchine ia Virtual Machine in esecuzione su vSphere 4, con 4 GB di memory allocato.

Quando ho 2 o 3 utenti collegati, utilizza più di 4 GB di memory impegnata, ma non riesco a trovare where la maggior parte di questa memory viene utilizzata. Quando ho aggiunto tutta la memory in Task Manager per tutti gli utenti, solo più di 2 GB sono in grado di gestire. Cosa serve il resto?

Ho provato a cercare il ciclo del server SQL, che prende solo la memory che vedo allocata a SQL servr out. Lo stesso vale per lo studio visivo, se lo chiudo, prende solo l'importo che vedo assegnato in Task Manager dalla memory di memory. Ho anche impostato le opzioni di memory per SQL Server per utilizzare solo max 512MB.

Non credo che questo sia un problema di sistema o di cache di file, in quanto Windows non include tale memory nelle statistiche impegnate AFAIK.

Mi sta guidando. Dovrebbe essere più di abbastanza memory per tutte queste cose, in base alle quantità che sembrano usando. Come posso individuare where viene utilizzata questa memory aggiuntiva?

Aggiornare

Per quanto riguarda le statistiche di memory che sto guardando, nessuna di esse si aggiunge.

Ad esempio, adesso con 1 utente connesso e solo in esecuzione Visual Studio e il server WebDev e SQL Server e IIS in background .. Aggiungo i byte privati ​​e ottengo circa 1049740K di memory, ma il task manager dice che la commissione è carica 1146M, lasciando circa 150Mb non contabilizzati.

Quando sono connessi 3 utenti, è solo circa 2 GB di byte privati ​​(una grande quantità di memory viene condivisa perché gli utenti eseguono solo Visual Studio).

La dimensione VM non si aggiunge, in quanto tipicamente non è molto diversa da byte private. Anche se, stranamente, il numero è molto diverso in Process Explorer per la memory virtuale rispetto a Task Manager. PE mostra la memory virtuale di SQL Server a 1.791.444K per SQL Server e 1.251.432K per Visual Studio, ma la commissione di carica è solo 1146M per la macchina.

Non esiste una colonna per la dimensione WS in Task Manager, ma in PE elenca WS come sia privata che affidabile, e quei numbers sono significativamente inferiori alla carica di commissione, addirittura aggiunti.

AGGIORNARE:

So che questa domanda ha molto dettagli, quindi forse la questione non è chiara.

Come posso trovare quali processi utilizzano tutta la memory impegnata nel mio sistema? La memory fornita da TaskManager e Process Explorer non si addicono correttamente e mostrano solo circa 2 GB di memory impegnata anche se è stato commesso 4 GB.

3 Solutions collect form web for “Cosa usa tutta la mia memory?”

gli strumenti sql e gli strumenti vmware combattono per lo spazio di memory in un vm. Questo è probabilmente aggravato dal funzionamento dei servizi terminal e

Se non lo hai già fatto, entra nelle impostazioni di vm e crea una prenotazione completa di 4Gb sotto la scheda risorse. Ciò impedirà al driver baloon di tentare di recuperare la memory all'interno del vm.

Potresti anche voler configurare le opzioni all'interno del server sql per assicurare che alloca solo parte del ram del sistema. Forse 2 gb max.

Probabilmente è un server SQL. Per impostazione predefinita (se non mi sbaglio) il server SQL assegnerà la quantità di memory ansible a less che specificamente configurato per consumare una quantità specifica di memory (accessibile nelle properties; del server SQL). Questa memory assegnata non viene visualizzata in Task Manager. Quello che devi fare è lanciare perfmon e aggiungere il contatore di "SQL Server: Gestore di memory: Memoria del server di destinazione" e "SQL Server: Gestore di memory: Total Server Memory" e vedere quanto il server SQL di memory è disposto a consumare e come molta memory che sta consumando.

Sei serio?

Ho un terminal di Windows 2003 a 32 bit che esegue una copia locale di SQL Server (versione completa, non espressa) e ospita un ambiente di sviluppo di Visual Studio 2008 per diversi sviluppatori

Proprio come informazioni:

Il mio ambiente di lavoro wvirtual è un sistema Windows 7 di memory 4g con Visual Studio e SQL Server. 64 bit. Io uso circa 3,5 gb di quella REGOLAMENTE. La mia istanza di Visual Studio da solo è spesso di circa 500 MB, più il debug richiede molte cose, forse non a lungo. Aggiungete ai soliti colpevoli (sistema di aiuto, browser) ….

… siete penalmente bassi da cominciare. La macchina che si nota è buona per forse uno sviluppatore in uso attivo. Se non si utilizza un sacco di due.

Cosa serve il resto?

Il sistema usa molto. Non dimentichiamo che tutte le schermate devono essere rese e la scheda grafica non è inutile – così una copia di tutto il buffer di memory deve andare (cosa che può essere molto – quali risoluzioni, quante schermate parliamo qui ?, dato 2003 suppongo uno per sviluppatore)

Suggerimento:

L'aggiornamento a:

  • 2008 R2. MUCh bettter RDP, inclusi MULTI MONITOR SETUP. Lavoro con 2 schermi in remoto al momento, 2008 R2 copia l'installazione del monitor dal mio client di Windows 7. Molto bello lavorare. Questo aggiornamento per me ha fatto davvero il lavoro a distanza SOMEHOW utilizzabile – Sono abituato a lavorare con schermi 2+ per anni, Remote era sempre paifull.
  • OS a 64 bit. 32 bit non è vero. Anche se tutto il software è 32 bit (VIsual Studio ecc.), Il hsot a 64 bit può avere molto più memory e in realtà distribuire 3gb ad each process che inizia. E c'e 'un bel po' di runnning.

E avnetworking bisogno di molto più RAM. Direi che 2GB per sviluppatore è una linea abbastanza buona (dato 2 + sviluppatori). Puoi andare via con less, ma non è troppo probabile. Dipende da quello che effettivamente fanno – ma grandi applicazioni in Visual Studio prendono un LOTTO di memory. Soprattutto durante i compilatori,

Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.