1833325 Members
2731 Online
110051 Solutions
New Discussion

Re: Vhand Process

 
SOLVED
Go to solution
David Alejo
Occasional Advisor

Vhand Process

Hi,

We have an HP-UX 9000/898 with 1 Gb of RAM. There is a process called Vhand which takes
a lot of WCPU; thus the processes we launch
take too much time.
What is the significance of the Vhand Process? Is it possible to kill it in order to gain more WCPU for our processes?If not, would be possible to decrease the quote of WCPU of the Vhand Process?

Thank you in advance.
David
17 REPLIES 17
harry d brown jr
Honored Contributor

Re: Vhand Process

David,

If you mess with vhand, you will toast your system! vhand handles paging requests, so if it is consuming a lot of resources, then it points to other issues:

do a search on

+vhand

Don't forget to check the Community Forums BOX.

http://forums.itrc.hp.com/cm/QuestionAnswer/1,,0x2d01c7af36b7d5118ff10090279cd0f9,00.html


live free or die
harry
Live Free or Die
David Burgess
Esteemed Contributor

Re: Vhand Process

Is swapper running high too?

Does

swapinfo -t

show that PCT used is high?

If so you may be swapping to disk a lot. Are you running some big apps on the server?
When does it happen?

What size is your swap?

To diagnose a bottle neck see the attached doc I got sent by HP.

Regards

Dave.
James R. Ferguson
Acclaimed Contributor

Re: Vhand Process

Hi David:

The 'vhand' (and its brother 'sched', or 'swapper') are the processes that manage memory!

'vhand' activity increases in response to falling memory. If this daemon is doing a great deal of work, start to look at memory starvation and assess your memory and swapspace.

An older, but excellent white paper on memory management ("HP-UX Memory Management
White Paper") can be found here:

http://docs.hp.com/hpux/onlinedocs/5965-4641/5965-4641.html

Regards!

...JRF...
David Alejo
Occasional Advisor

Re: Vhand Process

Thanks for your inputs,

I have taken some outputs about the status of the server executing sar -d, sar -u,... and I'm attaching this results.

I don't understand a lot about this matter but I think all is ok.

What kind of actions I must take to resolve the problem with vhand process?

TIA,

David.

David Burgess
Esteemed Contributor

Re: Vhand Process

David,

vmstat shows that it's paging out (po) quite a bit.

What does swapinfo -t give you?

Does this happen all the time?

Are you running sa as a cron job to callect sar stats over a period of time?

I've got

0 8-18 * * 1-5 /usr/lbin/sa/sa1 300 12

in root's crontab

The output is saved in /var/adm/sa

Regards,

Dave.
David Alejo
Occasional Advisor

Re: Vhand Process

Thanks Dave.

I have no permission to execute swapinfo command.

The path you give me (/var/adm/sa/) does not exist. Where can I find the output of my cron? and how can I know the kind of cron I am using?

(Maybe it's all a deal of permission, since I am only have a rol of DBA)

Thank you,

David
Trond Haugen
Honored Contributor

Re: Vhand Process

David, you need to be root to run swapinfo.

Regards,
Trond
Regards,
Trond Haugen
LinkedIn
Wodisch
Honored Contributor

Re: Vhand Process

Hello David,

you have to free up a little more of your RAM, or you will waiste a lot of time due to *freeing/discarding/paging out* MMU-pages!
Since you seem to use Oracle RDBMS, how about using the OnlineJFS options "mincache=direct,convosync=direct" and then reducing your UNIX buffer cache? That's kernel parameters "dbc_max_pct = 25" or so, or stopping not needed processes, like NFS, Automounter, and such...
The other solution would be to modify the paging parameters in your kernel, which you can only do manually (AFAIK), not with SAM!

Just my $0.02,
Wodisch
Tom Danzig
Honored Contributor

Re: Vhand Process

I think Wodisch is on the right track. What is your dbc_max_pct kernel parameter set at. Is it the HP default 50%? If so, it's too high and should be reduced. It's a good chance that the vhand process is constantly taking memory away from the DBC and subsequently giving it back due to memory pressure.

Check your DBC and set to a more reasonable level if too high.
David Alejo
Occasional Advisor

Re: Vhand Process

Dear Wodisch,

Your assumption is correct, we are working with Oracle v8.1.7 and we are processing aprox. 4 millions of rows. This is our main job.

As you said, the parameter dbc_max_pct was equal to 50 (we are opening a request to change this values to 25). Can you explain me the utility of this parameter?

The another one ("mincache=direct,convosync=direct" ) are OS parameters or they are parameters from Database?

We have 4 nftd, and six lvmkd, but I don't know what is the function of them and I don't know if we can kill them.

Finally, we asked our OS support about this problem and they told us that the main problem is that we need more CPU. is this answer correct?

Thanks all for your help.

David.
Paula J Frazer-Campbell
Honored Contributor

Re: Vhand Process

David

This doc should help:-

Paula
If you can spell SysAdmin then you is one - anon
Jeff Schussele
Honored Contributor

Re: Vhand Process

Hi David,

dbc_max_pct is a kernel parameter that specifies the max amount of system memory to use for dynamic buffers. 50% is high & could account for memory shortages. I would reduce it to 25%

The mincache & convosync are parameters used by LVM when you have the OnLine JFS option that tell LVM to not use it's disk buffers. It's used when you configure Oracle to do it's own buffering and should ONLY be used on Oracle extents when you have Oracle configured to do it's own buffering.

As to nftd, I believe you meant nfsd & that is the NFS daemon & *could* be stopped & disabled from starting BUT only if you export/import NO
NFS dirs. The lvmkd is an LVM related daemon & should NOT be stopped or disabled.

And as to your final question, from what I've seen CPU is not your problem - free memory is the problem. I doubt CPU upgrades would help at all.

HTH,
Jeff
PERSEVERANCE -- Remember, whatever does not kill you only makes you stronger!
Paula J Frazer-Campbell
Honored Contributor

Re: Vhand Process

David

From your sar -d output:-

Average c1t0d7 99.50 0.93 73 2937 16.46 34.79


This disk is very busy - Which disk is it?

lvdisplay -v will display disk info.

EG
lvoldisplay -v /dev/vg00/lvol3


Paula
If you can spell SysAdmin then you is one - anon
Paula J Frazer-Campbell
Honored Contributor

Re: Vhand Process

David

Sorry disk is c1t0d7

Do command for each logical volume from results of a :-
dbf

until you identify which volume group this disk is.

Paula
If you can spell SysAdmin then you is one - anon
David Alejo
Occasional Advisor

Re: Vhand Process

Paula,

Thanks for your help.

I have executed your request and I saw that Oracle are in this disk (/u01/app/oracle, /u02, /u03) with datafiles, redo logs, etc...

Is this the problem?, I think that oracle files must be separate into differents disk but in this database I think our OS Department has put all the database in the same disk.

What can I do?

TIA,

David.
Solution

Re: Vhand Process

David,

Seems to me like you should get your sysadmins to take a look at this book ;o) :

http://www.amazon.com/exec/obidos/ASIN/0131027166/qid=1020415033/sr=8-1/ref=sr_8_23_1/102-9147480-0121759

Seriously though... there's a limit to what you as the DBA can do without root access, we could pass on all kinds of details of things to try, but at the end of the day your just going to end up being the messenger - the sysadmins need to start understanding the performance problems as well, and start talking with you about how to resolve them. However, that said there are at least two issues to address here:

1. If vhand is clocking up CPU time then your system is paging, this is not good for performance - it means you apps (presumably Oracle) + your buffer cache are using more than 100% of physical memory - you need to look at the size of all the SGAs for the databases + the resident set size of all you oracle processes (you can get this from 'UNIX95= ps -eo comm -o sz' - its displayed in blocks of 4K). These all need to add up to less than your physical memory.

2. I would have gone even further with you dbc_max_pct - on a system running oracle databases there's not mucgh point in it being over 10%.

3. All the Oracle data on one disk? That's not good at all!! At the very least the the redo logs should be on a seperate disk from the datafiles you can probably figure out if your system has unused disks by executing:

/sbin/ioscan -funC disk

Which will show you all the disks on your system, and then:

/sbin/vgdisplay -v | grep "PV Name"

to show you all disks in use by LVM. (of course you may be using raw disks in some places - that you'd need to check with the sysadmins)

Ideally not only should you have redo logs on seperate disks, but tablespaces should be on seperate disks from their indexes as well.

4. As I'm a sysadmin myself though, so it would be remiss of me not to mention that the best way by far to speed up Oracle is to tune your PL/SQL code! - This is the part you can do yourself without any assiatance from those pesky sysadmins!

HTH

Duncan

I am an HPE Employee
Accept or Kudo

Re: Vhand Process

And there I go waffling away again! I said two issues, and then proceeded to make four points

Ah well...

I am an HPE Employee
Accept or Kudo