Subject | Re: [IBDI] IB & Windows ME |
---|---|
Author | Ann Harrison |
Post date | 2000-10-09T16:51:13Z |
I had written:
working set size might help. There are configuration parameters
for that. Unfortunately, it appears that they are used only
under Windows/NT. However, it's a build time check, so running
the NT kit might work. The relevant code is:
In IBConfig:
SERVER_WORKING_SIZE_MIN <n>
SERVER_WORKING_SIZE_MAX <m>
And no, I don't have a clue what the correct values of m and n
are. You might check the size of the image after it's started
returning rows as a basis for n. The value you supply is the
process size in 1024K hunks.
Inside the engine - value1 is min, value2 is max.
if (hndl)
{
ULONG value1 = *value1_ptr * 1024;
ULONG value2 = *value2_ptr * 1024;
if (!SetProcessWorkingSetSize(hndl, value1, value2))
So, if Windows/ME implements SetProcessWorkingSetSize, and if the
Windows/NT kit works there, and if the problem is incremental memory
allocation, this might be a partial solution.
Sorry not to be more certain...
Regards,
Ann
>"Do you have any ideaAt 10:18 AM 10/9/2000 -0600, Lawrence N. Green wrote:
> > whether the problem is CPU overload, or disk?"
> >
> > It's vaguely possible that Windows ME makes incremental memory
> > allocation very expensive ... though it may
> > be that the relatively small reads (1K-8K) are pessimized.
>That Sounds like it could be a factor,If the problem is memory allocation, then setting the minimum
>Does anyone know what to do about this?
working set size might help. There are configuration parameters
for that. Unfortunately, it appears that they are used only
under Windows/NT. However, it's a build time check, so running
the NT kit might work. The relevant code is:
In IBConfig:
SERVER_WORKING_SIZE_MIN <n>
SERVER_WORKING_SIZE_MAX <m>
And no, I don't have a clue what the correct values of m and n
are. You might check the size of the image after it's started
returning rows as a basis for n. The value you supply is the
process size in 1024K hunks.
Inside the engine - value1 is min, value2 is max.
if (hndl)
{
ULONG value1 = *value1_ptr * 1024;
ULONG value2 = *value2_ptr * 1024;
if (!SetProcessWorkingSetSize(hndl, value1, value2))
So, if Windows/ME implements SetProcessWorkingSetSize, and if the
Windows/NT kit works there, and if the problem is incremental memory
allocation, this might be a partial solution.
Sorry not to be more certain...
Regards,
Ann