serialize - force target process to run serially with other processes
serialize command [command_args]
serialize [-t] [-p pid]
The serialize command is used to force the target process to run
serially with other processes also marked by this command. The target
process can be referred to by pid value, or it can be invoked directly
on the command. Once a process has been marked by serialize, the
process stays marked until process completion unless serialize is
reissued on the serialized process with the -t option. The -t option
causes the pid specified with the -p option to return to normal
timeshare scheduling algorithms.
This call is used to improve process throughput, since process
throughput usually increases for large processes when they are
executed serially instead of allowing each program to run for only a
short period of time. By running large processes one at a time, the
system makes more efficient use of the CPU as well as system memory,
since each process does not end up constantly faulting in its working
set, to only have the pages stolen when another process starts
running. As long as there is enough memory in the system, processes
marked by serialize behave no differently from other processes in the
system. However, once memory becomes tight, processes marked by
serialize are run one at a time with the highest priority processes
being run first. Each process will run for a finite interval of time
before another serialized process is allowed to run.
serialize supports the following options:
-t Indicates the process specified by pid should be
returned to timeshare scheduling.
-p Indicates the pid of the target process.
If neither option is specified, serialize is invoked on the command
line passed in.
Hewlett-Packard Company - 1 - HP-UX Release 11i: November 2000
serialize returns the following value:
0 Successful completion.
1 Invalid pid specification, nonnumeric entry, or <=
2 Could not execute the specified command.
3 No such process.
4 Must be root or a member of a group having SERIALIZE
privilege to execute serialize.
serialize fails under the following condition and sets errno (see
errno(2)) to the following value:
[ESRCH] The pid passed in does not exist.
Use serialize to force a database application to run serially with
other processes marked for serialization:
Force a currently running process with a pid value of 215 to run
serially with other processes marked for serialization:
serialize -p 215
Return a process previously marked for serialization to normal
timeshare scheduling. The pid of the target process for this example
serialize -t -p 174
The user has no way of forcing an execution order on serialized
serialize was developed by HP.
setprivgrp(1M), getprivgrp(2), serialize(2), privilege(5).
Hewlett-Packard Company - 2 - HP-UX Release 11i: November 2000