Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
vaidyanathanpc
Starting Member
24 Posts |
Posted - 2002-03-06 : 12:16:57
|
| Hi,We have about 45 systems at different locations talking to our database. So we have all the systems talking to our database thru linked server. By the way, I think the problem is not due to linked servers. Any idea what could be the problem?? SQL server is taking up most of the RAM and our application is hanging.ThanksP.C. Vaidyanathan |
|
|
MuadDBA
628 Posts |
Posted - 2002-03-06 : 14:10:40
|
| Well, it's typical for SQL to use up as much RAM as is available, and only back off when an application requests some. And it doesn't back off quickly, either :)I would suggest setting a maximum RAM the SQL can take up, thus freeing more for your application.Have you run any performance analysis on the SQL Server to see if your application is starving for resources? Is the SQL box performing at peak, with CPU and Disk time very very high? We need more symptoms in order to help! |
 |
|
|
royv
Constraint Violating Yak Guru
455 Posts |
Posted - 2002-03-07 : 09:58:25
|
| Your application really should not be running on the server, does it have to run on the server?*************************Just trying to get things done |
 |
|
|
Wanderer
Master Smack Fu Yak Hacker
1168 Posts |
Posted - 2002-03-12 : 05:52:01
|
| Start by reviewing the actual memory usage. As has been pointed out, the server memory utilization will be very near 100% when SQL has been running for any length of time. Definitely review to see whether the server can be allocated as a dedicated data server, and if you can move the application to a dedicated applciation server.Start reviewing the actual cause of the poor performance - using profiler, or else any tools that you have on site (BMC etc. etc.).Since you are concerned about memory usage, you could consider the follwing query (taken from an SP I have to look for memory hogs).****select convert(varchar(8),counter_procs.nt_username) as UserId, 'DB_Name'=substring(master..sysdatabases.name,1,35), convert(varchar(30),counter_procs.loginame) as SQL_LoginName, counter_procs.No_Processes, counter_procs.mem_used_in_KBfrom (select nt_username,dbid,loginame,count(*) as No_Processes,(sum(memusage)*4) as mem_used_in_KB from master..sysprocessesgroup by nt_username,dbid,loginame) counter_procsjoin master..sysdatabases on counter_procs.dbid = master..sysdatabases.dbidwhere counter_procs.mem_used_in_KB > @minmemorder by 2,5 desc,1,3*****You will need to replace the @minmem with a value, or else you can run the query without the where statement.HTH |
 |
|
|
|
|
|
|
|