01-23-04 08:59 PM
Kevin Joseph wrote:quote:
> Hi All,
>
> I have read a lot about setting the maxpgio parameter on Solaris 8 and
> how it can "magically" improve the performance of the system. I would
> like to see if setting maxpgio on a server will help out, but I do not
> know how to check the existing value of this parameter. When I use adb
> it shows the foll -
>
> maxpgio/D
> maxpgio:
> maxpgio: 0
You're using the wrong display option. maxpgio on 64 bit Solaris is a
64 bit quantity, so you need to use /E instead of /D
How can I tell? Firstly because of my vast experience which tells me
that a value of zero for maxpgio is just plain silly ;-)
Secondly, and perhaps a little more usefully, I've looked at the size of
the variable:
$ /usr/ccs/bin/nm /dev/ksyms |grep maxpgio
[18565] | 21283984| 8|OBJT |GLOB |0 |ABS |maxpgio
The '8' in the third column is the size of the object in bytes - 8
bytes, 64 bits, which means you use "E", not "D" (using "D" you just see
the value in the topmost bits of the variable).
So:
# mdb -k
Loading modules: [ unix krtld genunix sd ufs_log ip usba nca sppp nfs
random ptm ipc logindmux cpc ]quote:
> maxpgio/E
maxpgio:
maxpgio: 40
To see values in hex you'd use J instead of X for the same reason.
If you're writing a 64 bit value (NOT something I'd recommend on a
running kernel) use Z instead of W
Note however that you can't just assume that everything's a 64 bit
quantity; some variables are still 32 bits long on a 64 bit kernel. For
instance
# /usr/ccs/bin/nm /dev/ksyms|grep semmns
[12309] | 2013479920| 4|OBJT |GLOB |0
|ABS |seminfo_semmns
A size of 4 bytes in column 3 shows that this is a 32 bit quantity.
# mdb -k
Loading modules: [ unix krtld genunix sd ufs_log ip usba nca sppp nfs
random ptm ipc logindmux cpc ]quote:
> seminfo_semmns/E
seminfo_semmns:
seminfo_semmns: 257698037790
Obvious twaddle.
quote:
> seminfo_semmns/D
seminfo_semmns:
seminfo_semmns: 60
That's better.
This will be documented as Infodoc 44604.
--
Tony
[ Post a follow-up to this message ]
|