Problemi di Memoria con SQL Server e Windows XP

venerdì 17 marzo 2006 - 17.48

Actarus Profilo | Newbie

Ciao a tutti!
Vi descrivo subito il problema per il quale vi chiedo di aiutarmi.
Abbiamo realizzato un'applicazione scritta in VB.Net con database SQL Server
Questa applicazione è installata su 15 macchine (windows XP) delle quali 10 funzionano 24 ore su 24 e altre 5 circa 8 ore al giorno, e sono collegate ad un Server (in realtà la macchina che fa da server non è un vero server ma semplicemente un PC piuttosto potente con Windows XP)

Il problema è che dopo 3 giorni di funzionamento la memoria utilizzata dal PC Server raggiunge un 1Gb con la conseguente necessità di riavviare il Server
Sul server gira solo ed esclusivamente SQL Server e dopo i 3 giorni il Gb di Memoria utilizzata è per circa 500Mb usata da SQL e per il restante da Windows XP (anche se non sono riuscito a individuare esattamente con quali processi)

Presto sostituiremo la macchina Server con un vero server e probabilmente con un Sistema Operativo di tipo Server però mi chiedo (anzi visto che non conosco la risposta Vi chiedo) se l'attuale comportamento è normale e quindi dipendente da XP a da cos'altro?

Vi ringrazio per l'attenzione e per le eventuali risposte!!
Buona giornata a tutti!

Brainkiller Profilo | Guru

>Il problema è che dopo 3 giorni di funzionamento la memoria utilizzata
>dal PC Server raggiunge un 1Gb con la conseguente necessità di
>riavviare il Server

Perchè devi riavviarlo scusa ? Perdi in prestazioni ?

>Presto sostituiremo la macchina Server con un vero server e probabilmente
>con un Sistema Operativo di tipo Server però mi chiedo (anzi
>visto che non conosco la risposta Vi chiedo) se l'attuale comportamento
>è normale e quindi dipendente da XP a da cos'altro?

Configura la memoria su SQL Server. Apri l'enterprise manager, tasto destro proprietà sul Server, linguetta Memory e lì puoi decidere di usare una gestione dinamica con un minimo e massimo di RAM utilizzata oppure oppure fissa esempio 512 mega di ram, non di più. In questo modo tieni sottocontrollo il consumo di RAM.

Ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

lbenaglia Profilo | Guru

>Presto sostituiremo la macchina Server con un vero server e probabilmente
>con un Sistema Operativo di tipo Server però mi chiedo (anzi
>visto che non conosco la risposta Vi chiedo) se l'attuale comportamento
>è normale e quindi dipendente da XP a da cos'altro?

Ciao Actarus,

il comportamento che riscontri è del tutto normale.
La memoria viene allocata dalle pagine dati e dai piani di esecuzione man mano che gli utenti utilizzano SQL Server. Una volta in memoria, piani e pagine vi rimangono fino a che c'è disponibilità di memoria. Quando un altro processo in esecuzione sulla macchina richiede al sistema operativo della RAM, solo a quel momento SQL Server inizia a rilasciare la porzione di memoria richiesta dal sistema operativo. Il vantaggio di mantenere in
memoria le pagine già utilizzate da altri utenti è evidente: viene ridotto l'accesso al disco e, quindi, ne traggono beneficio le prestazioni.
Se la macchina è dedicata a SQL Server non c'è ragione di preoccuparsi

>Vi ringrazio per l'attenzione e per le eventuali risposte!!
Prego.

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

Actarus Profilo | Newbie

Ciao David!
grazie per il suggerimento, però ho tanto l'impressione che il problema non sia su SQL Server poichè come specificato la memoria usata sul sistema è di un Gb ma per meta solamente da SQL Server la restante la usa XP? faccio questa domanda perchè sul task manager sommando la memoria utilizzata dagli altri processi non arrivo ad avere i 500Mb che non sono usati da SQL Server Sono costretto a riavviare poichè naturalmente windows inizia poi a usare il file di paging pesantemente e quindi anche SQL server non riesce a garantire delle prestazioni ottimali

Grazie tante!
Ciao

Actarus Profilo | Newbie

Ciao Lorenzo!
grazie per l'attenzione prestatami.
Purtroppo mi preoccupo poichè come ho scritto a David il problema è che raggiunto il Gb di RAM disponibile (di cui solo 500Mb circa da SQL Server) XP utilizza il file di paging e ciò naturalmente influisce sulle prestazioni anche di SQL Server costringendo a riavviare

Grazie tante!
Ciao

lbenaglia Profilo | Guru

>Purtroppo mi preoccupo poichè come ho scritto a David il problema
>è che raggiunto il Gb di RAM disponibile (di cui solo 500Mb circa
>da SQL Server) XP utilizza il file di paging e ciò naturalmente
>influisce sulle prestazioni anche di SQL Server costringendo
>a riavviare

Ciao Actarus,

in questo caso puoi configurare la massima memoria allocabile da SQL Server seguendo le istruzioni suggerite da David.
Tieni presente che probabilmente dovrai fare un po' di tuning per individuare il valore che ti permetterà di ottenere le prestazioni migliori senza sovraccaricare la macchina.
Abbonda il più possibile con la RAM allocabile da parte di SQL Server, altrimenti rischi che le varie cache siano troppo piccole per garantire dei tempi di risposta accettabili.

>Grazie tante!
Prego.

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

Actarus Profilo | Newbie

Ciao Lorenzo, grazie tante per i consigli a te e a David Proverò allora a far così Comunque vi farò sapere come è andata

Grazie ancora a tutti!
buona giornata e buon lavoro!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5