1752290 Members
4908 Online
108786 Solutions
New Discussion юеВ

Re: wsinc default value

 
Wim Van den Wyngaert
Honored Contributor

wsinc default value

I was investigating a process on VMS 7.3 doing a lot of pagefaults and found out that wsinc has a default (and actual) value of 2400 pagelets.

I compared this with a 6.2 node and noticed that it 2400 there too. Don't have older versions here.

Should't this parameter be a lot higher these days ? E.g. 24000 ?

I have some processes that are created with default pql settings but that allocate about 600.000 pages. So, they have to fault as crazy to get their working set increased.

Side effects if I would increase it ?

Wim

Wim
18 REPLIES 18
Mike Reznak
Trusted Contributor

Re: wsinc default value

Hi,

we have the default value everywhere. So that means our support have never sugested any change.

Mike
...and I think to myself, what a wonderful world ;o)
Marc Van den Broeck
Trusted Contributor

Re: wsinc default value

On Vax, the default value was 150 (512 byte) pages. So actually the default value did increase from 150 to 2400. But indeed in environments where processes have to grow to 600.000 pages you might increase this value.
But then this is active for all processes and it migth be an overkill for several (temporary?) processes.

Rgds
Marc
Wim Van den Wyngaert
Honored Contributor

Re: wsinc default value

Marc,

No overkill because the memory is not taken when not used (by the temp process).

But the sysgen help sys_p pfrath says that wsinc is assigned every 10 cpu seconds. Should't that be every 1/10 second ?

My process is having a working set of 580.000 pagelets and only used 52 seconds.

And it took about 3 hours to get there. Each time a lot of activity is done by the process, it increased in size.

Wim
Wim
Marc Van den Broeck
Trusted Contributor

Re: wsinc default value

Wim,

On Alpha systems, WSINC specifies the number of pagelets by which the limit of a working set is automatically increased at each
adjustment interval (which is quantum end).

Isn't PFRATH the value per 10 seconds above which 'high fault rate' is decided? And if so, then every quantum the limit is increased with WSINC?

Rgds
Marc
Mike Reznak
Trusted Contributor

Re: wsinc default value

Another explanatin

e.g. Default WSINC of 150 and default PFRATH of 120, means your process
needs to exceed 120 faults/sec for 95 CPU seconds, probably about 2
minutes to you and me before it gets to WSQUOTA. This may not be a lot
on a single build taking upwards of 30 minutes, but if you are invoking
the compiler multiple times, the process starts back down again at
WSDEFAULT.

But on Alpha systems, WSINC also has the AUTOGEN attribute. So that means that autogen should suggest change if it's needed.

Mike


...and I think to myself, what a wonderful world ;o)
Wim Van den Wyngaert
Honored Contributor

Re: wsinc default value

QUANTUM=200ms
AWSTIME=200ms
PFRATH=8
are my settings.

So, every 200 ms wsinc pages will be added if the number of pagefaults in 200ms converted to pagefaults per 10 sec is bigger than 8. So, 1 pagefault * 50 (factor to convert it) = 50. 50 > 8. So 1 pagefault is enough to get the wsinc.
In fact, pfrath values 1 thru 49 (or 50?) have the same result.

But I need at least 200 times wsinc to get the working set I need. So, about 200 * 200 ms or 40 cpu seconds are needed to get there. That is, if I fault in every 200 ms.

Wim
Wim
Mike Reznak
Trusted Contributor

Re: wsinc default value

This article doesn't bring much more light into the right value setting but is quite interesting.

http://www3.sympatico.ca/n.rieck/docs/openvms_tuning_notes.html

Mike
...and I think to myself, what a wonderful world ;o)
Wim Van den Wyngaert
Honored Contributor

Re: wsinc default value

Mike,

This is what I have on AWSA.

A process is checked to determine the necessity for working
set growth at AWSTIME intervals. AWSTIME is expressed in
units of 10 milliseconds and its default value is 20. The
amount a process pagefaults in AWSTIME is compared to an
upper threshold for pagefaults per 10 CPU seconds defined
by the SYSGEN parameter 'PFRATH'. For example, if AWSTIME
is set to 20 and PFRATH 120, a process would get WSINC WSLEs
if it pagefaulted 3 pages in AWSTIME as shown in the chart
below:

AWSTIME set to 20 = 200 milliseconds
3 pagefaults in 200 milliseconds = 15 pagefaults per CPU second
15 pagefaults per CPU second = 150 pagefaults per 10 CPU second
150 > 120 (Value of PFRATH)
----------------------------------------------
Process gets WSINC number of WSLEs

If it is determined that the process has exceeded the
pagefault threshold (PFRATH) within the specified interval
(AWSTIME), it will receive WSINC WSLEs when it has validated
more than 75% of the WSLEs previously given to the process.
Wim
Ian Miller.
Honored Contributor

Re: wsinc default value

Note that Wim is talking about WSLE (Working Set List Entry) not how many pages of memory your process occupies.
You need one WSLE for each page but can have unused WSLE.
____________________
Purely Personal Opinion