SQL Server – koja instanca troši sav CPU?

Nedavno smo imali slučaj gdje su korisnici prijavili da im korisničke aplikacije rade vrlo usporeno. Na serveru koji pokreće bazu podataka uočili smo problem sa procesorskim vremenom. Jedna od instanci SQL Servera zauzela je previše procesorskog vremena za sebe. Problem je u tome što na tom SQL Serveru imamo podignuto nekoliko instanci, pa je trebalo otkriti koja instanca stvara probleme .

Da bi otkrili koja je instanca prisvojila za se CPU potrebno je slijediti ove korake.

1.    Prvo pokrenemo Task Manager, te primjećujemo da imamo tri sql server instance te da sve imaju isti exe imena sqlservr.exe. Također prema priloženoj slici vidimo da prvi sqlservr.exe proces koristi 76% procesorskog vremena.

 

 

 

 

 

 

 

 

2.    Slijedeće što ćemo učiniti je dodati PID (Process Identifier) kolonu u Task Manager.
PID je identifikator procesa a dodijeljen je svakom procesu koji se izvodi na stroju.
Aktiviramo ga tako da u Task Manageru odaberemo View => Select Columns te u novo otvorenom prozoru odaberemo PID.

 

 

 

 

 

 

 

 

3.    Sada se vidi PID za sqlservr.exe koji zauzima najviše procesorskog vremena.

 

 

 

 

 

 

 

 

Slijedeći korak je da otkrijemo koja instanca koristi označeni PID. To možemo učiniti dva načina. Prvi je kroz SQL Server Configuration Manager, a drugi je kroz SQL Server error log.

4.    Kad god pokrenemo SQL Server instancu, PID koji je također poznat kao Server process ID se dodjeljuje toj instanci, a ta informacija je zabilježena u SQL Server error logu.

 

 

 

 

 

 

 

 

5.    Drugi način je kroz SQL Server Configuration Manager. Dakle, pokrenemo SQL Server Configuration Manager te odaberemo SQL Server Services. Na desnoj strani ovog sučelja, možete vidjeti vrijednosti Process ID.

 

 

 

 

 

Uspoređujući podatke iz SQL Server error loga ili SQL Server Configuration Managera možemo točno locirati instancu SQL Servera koja nam je zauzela velik dio procesorskog vremena te stvorila problema sa korisničkim aplikacijama.

Rješenje ovog problema može biti klasičan restart instance ili kompletnog stroja. Sa druge strane, možemo ograničiti resurse problematičnom procesu tako da može raditi samo s određenim procesorom ili jezgrom. O nečemu sličnom bilo je riječi u članku: http://sistemac.carnet.hr/node/1103

Kuharice: 
Kategorije: 
Vote: 
4
Vaša ocjena: Nema Average: 4 (2 votes)