By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
445,825 Members | 1,258 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 445,825 IT Pros & Developers. It's quick & easy.

Large Object Heap Compaction in Framework 1.1/2.0?

P: n/a
I read on some message board that i can't find anymore saying that the Large
Object Heap is compacted in Framework 1.1 or 2.0. Is this true? I can't seem
to find any ms documentation that said this was fixed. Is large object heap
fragmentation still going to be a problem in Framework 2.0?

thanks
Mar 14 '06 #1
Share this Question
Share on Google+
3 Replies


P: n/a

"Ben Lam" <Be****@discussions.microsoft.com> wrote in message
news:14**********************************@microsof t.com...
|I read on some message board that i can't find anymore saying that the
Large
| Object Heap is compacted in Framework 1.1 or 2.0. Is this true? I can't
seem
| to find any ms documentation that said this was fixed. Is large object
heap
| fragmentation still going to be a problem in Framework 2.0?
|
| thanks

The LOH is not getting compacted, this is true for both v1.x as for v2.0.
It's simply too expensive to compact the LOH.
Willy.
Mar 15 '06 #2

P: n/a
thanks for the reply Willy. I've been reading alot of your previous posts
with respect to memory and its helped alot.

Maybe you can answer another question for me. The reason our app has such
high memory usage is we store an product cache. This works fine except when
the number of products is quite large and we also use terminal services to
host remote users.

The cache we use is a datatable that returns dataviews of the filtered
product lists needed by the app. Is there a way to have multiple processes
share this cache using a datatable so that there is only one datatable for
the multiple terminal server sessions? I'm assuming that using a webservice
and returning a dataview will serialize the datatable its pointing to so that
wouldn't help since each process will essentiallly have a copy of the
datatable. And i believe remoting would have the same problem correct? We
would like to find a solution that uses the same datatable structures so we
don't have to rewrite alot of code, esp for the data filtering.

thanks

"Willy Denoyette [MVP]" wrote:

"Ben Lam" <Be****@discussions.microsoft.com> wrote in message
news:14**********************************@microsof t.com...
|I read on some message board that i can't find anymore saying that the
Large
| Object Heap is compacted in Framework 1.1 or 2.0. Is this true? I can't
seem
| to find any ms documentation that said this was fixed. Is large object
heap
| fragmentation still going to be a problem in Framework 2.0?
|
| thanks

The LOH is not getting compacted, this is true for both v1.x as for v2.0.
It's simply too expensive to compact the LOH.
Willy.

Mar 15 '06 #3

P: n/a
Ben,
I'm affraid the only sure and performant way is to use "shared memory" also
called Memory Mapped Files. The only problem is that there is no framework
support for this so you need to implement your own or search for some
existing implementation [1] of a .NET "shared memory" component.
[1]
http://www.winterdom.com/dev/dotnet/index.html
Be sure you can set the security such that the MM portion is sharable
between TS sessions!!!

Willy.
"Ben Lam" <Be****@discussions.microsoft.com> wrote in message
news:27**********************************@microsof t.com...
| thanks for the reply Willy. I've been reading alot of your previous posts
| with respect to memory and its helped alot.
|
| Maybe you can answer another question for me. The reason our app has such
| high memory usage is we store an product cache. This works fine except
when
| the number of products is quite large and we also use terminal services to
| host remote users.
|
| The cache we use is a datatable that returns dataviews of the filtered
| product lists needed by the app. Is there a way to have multiple
processes
| share this cache using a datatable so that there is only one datatable for
| the multiple terminal server sessions? I'm assuming that using a
webservice
| and returning a dataview will serialize the datatable its pointing to so
that
| wouldn't help since each process will essentiallly have a copy of the
| datatable. And i believe remoting would have the same problem correct?
We
| would like to find a solution that uses the same datatable structures so
we
| don't have to rewrite alot of code, esp for the data filtering.
|
| thanks
|
| "Willy Denoyette [MVP]" wrote:
|
| >
| > "Ben Lam" <Be****@discussions.microsoft.com> wrote in message
| > news:14**********************************@microsof t.com...
| > |I read on some message board that i can't find anymore saying that the
| > Large
| > | Object Heap is compacted in Framework 1.1 or 2.0. Is this true? I
can't
| > seem
| > | to find any ms documentation that said this was fixed. Is large
object
| > heap
| > | fragmentation still going to be a problem in Framework 2.0?
| > |
| > | thanks
| >
| > The LOH is not getting compacted, this is true for both v1.x as for
v2.0.
| > It's simply too expensive to compact the LOH.
| >
| >
| > Willy.
| >
| >
| >
Mar 15 '06 #4

This discussion thread is closed

Replies have been disabled for this discussion.