Possible to share memory between terminal server apps?

J

John H.

We have a home grown C# Windows app that runs on a Windows 2008
Terminal Server. It digests a large amount of realtime data and
presents it to the user in complex set of tabbed DataGridViews. Each
instance of this app consumes about 350mb of RAM and 25% of the CPU.
Running multiple instance of the app quickly consumes the resources of
the terminal server. Each instance of the app is processing the same
data feed and keeping the same data in memory. Each user has their
own custimized view of the data.

Is there a mechanism or API that would allow C# for apps to share a
common pool of memory across multiple instances of the same program
running under multiple different logged in users on a terminal
server? This idea is obviously counter to the design of Terminal
Server. I was hoping to get some ideas before I sit down with the
programmer that wrote the app.

Thanks,
John
 
A

Arne Vajhøj

We have a home grown C# Windows app that runs on a Windows 2008
Terminal Server. It digests a large amount of realtime data and
presents it to the user in complex set of tabbed DataGridViews. Each
instance of this app consumes about 350mb of RAM and 25% of the CPU.
Running multiple instance of the app quickly consumes the resources of
the terminal server. Each instance of the app is processing the same
data feed and keeping the same data in memory. Each user has their
own custimized view of the data.

Is there a mechanism or API that would allow C# for apps to share a
common pool of memory across multiple instances of the same program
running under multiple different logged in users on a terminal
server? This idea is obviously counter to the design of Terminal
Server. I was hoping to get some ideas before I sit down with the
programmer that wrote the app.

If you are at 4.0 then you can try:

http://msdn.microsoft.com/en-us/library/system.io.memorymappedfiles.memorymappedfile.aspx

Arne
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top