Process Detail Interval (PD_PDI)
- Organization of this page
Function
The Process Detail Interval (PD_PDI) record stores the performance data per unit time on a process. A record is created for each process ID within the system.
The performance data stored in this record is the same as that stored in the Process Detail (PD) record. However, if performance data collected at a point in time is the same as the performance data collected in the previous interval for the same process, performance data is not stored in the same record, and a new record is created. This point is different from the Process Detail (PD) record. Therefore, multiple records are created for the same process. After performance data is collected at a given point in time, if the process is terminated before the next performance data is collected, no performance data is collected on that process.
When this record is collected on a real-time basis, performance data on all processes that are being executed by the system is stored. This is a multi-instance record.
- Notes:
-
-
In AIX and Solaris, only the data in the fields listed below is collected on defunct processes. For all other fields, either 0 or n/a is displayed.
Accounting Flags, Argument List, End Time, Exit Status, Group, Group ID, Parent PID, PID, Program, Real User, Real User ID, Record Time, Record Type, Snapshot Time, Start Time, State, Terminal, User, User ID
-
The Interval (INTERVAL) field of this record is always 0. In the fields that show frequency, average, and percentage, the time elapsed since the process startup is used as the data source. To collect a delta value, the difference between the previous elapsed process time and the current elapsed process time is computed. If no delta value is to be collected, the cumulative elapsed time of the process is used for computation.
-
In the Priority (PRIORITY) field, process priority is determined based on the size of the number. In Solaris, the greater the number, the higher the priority. In AIX and Linux, the smaller the number, the higher the priority. In HP-UX, the number that indicates priority differs with each process setting. You can use the following command to check the process setting:
export UNIX95=1
ps -eo pid,cls,pri
When cls is one of the following, the smaller the number, the higher the priority:
FIFO
RR
RR2
When cls is one of the following, the greater the number, the higher the priority:
HPUX
RT
-
Performance data on a terminated process cannot be collected.
-
If the target process of an instance is a zombie process, the following are displayed for the Group, Group ID, User, and User ID fields in AIX and HP-UX:
OS
Field
Content displayed
AIX
Group
Name of group with ID of 0
Group ID
0
HP-UX
Group
N/A gid = -3
User
N/A uid = -3
Group ID
-3
User ID
-
Default values and values that can be specified
Item |
Default value |
Modifiable |
---|---|---|
Log |
No |
Yes |
LOGIF |
Blank |
Yes |
Over 10 Sec Collection Time |
No |
No |
Sync Collection With |
Interval Records, PI |
No |
Realtime Report Data Collection Mode |
Reschedule |
Yes |
ODBC key fields
-
PD_PDI_PID
-
PD_PDI_START_TIME
Lifetime
From process execution until termination
Record size
-
Fixed portion: 681 bytes
-
Variable portion: 1,626 bytes
Fields
PFM-View name (PFM-Manager name) |
Description |
Smry |
Format |
Delta |
Not sprtd in |
Data source |
---|---|---|---|---|---|---|
Accounting Flags(ACCOUNTING_FLAGS) |
Process operation history information. Valid only when the process is terminated (End Time is not n/a). |
-- |
string(256) |
No |
HP-UX, Solaris, AIX, Linux |
-- |
Argument List(ARGUMENT_LIST) |
Process argument list. Correspond to the character string displayed in the COMMAND string of the ps -ef command. In AIX, the maximum size is limited to 119 bytes. In Linux, the maximum size is limited to 119 bytes. In HP-UX, the maximum size is limited to 63 bytes. In Solaris, the maximum size is limited to 79 bytes. |
-- |
string(120) |
No |
-- |
-- |
Avg I/O Kbytes(AVG_IO_KBYTES) |
Average transfer size in I/O operations (KB) |
-- |
float |
No |
HP-UX, AIX, Linux |
TOTAL_IO_KBYTES ÷ TOTAL_IO_OPS |
CPU %(CPU_PERCENT_USED) |
Average value obtained by dividing CPU usage by the number of processors (%) |
-- |
float |
No |
-- |
Non-delta calculation or collection first time, (((USER_CPU_TIME + SYSTEM_CPU_TIME) ÷ Process Cumulative Elapsed time) ÷ Processor Count) × 100. Others,(((USER_CPU_TIME + SYSTEM_CPU_TIME) ÷ Interval) ÷ Processor Count) × 100 |
CPU % Each(CPU_PERCENT_EACH) |
Process CPU usage (%) |
-- |
float |
No |
-- |
Non-delta calculation or collection first time, ((USER_CPU_TIME + SYSTEM_CPU_TIME) ÷ Process Cumulative Elapsed time) × 100. Others,((USER_CPU_TIME + SYSTEM_CPU_TIME) ÷ Interval) × 100 |
Context Switches(CONTEXT_SWITCHES) |
Number of times context switching was executed |
-- |
ulong |
Yes |
HP-UX, Linux |
-- |
End Time(END_TIME) |
Process termination time. n/a if the process is being executed. |
-- |
time_t |
No |
HP-UX, Solaris, AIX, Linux |
START_TIME + Process Operation Time |
Executable Data Kbytes(EXECUTABLE_DATA_KBYTES) |
Size of data used (KB). To collect data for this field in Solaris, the environment variable SAUNIXPMAP must be specified in advance. Execute the following command from the command line: # SAUNIXPMAP=1 # export SAUNIXPMAP |
-- |
ulong |
No |
Linux |
-- |
Executable Text Kbytes(EXECUTABLE_TEXT_KBYTES) |
Size of the text used (KB). To collect data for this field in Solaris, the environment variable SAUNIXPMAP must be specified in advance. Execute the following command from the command line: # SAUNIXPMAP=1 # export SAUNIXPMAP |
-- |
ulong |
No |
Linux |
-- |
Exit Status(EXIT_STATUS) |
Process termination status. Valid only when the process is terminated (End Time is not n/a). |
-- |
string(20) |
No |
HP-UX, Solaris, AIX, Linux |
-- |
Group(GROUP_NAME) |
Effective group name of the process |
-- |
string(256) |
No |
-- |
-- |
Group ID(GROUP_ID) |
Effective group ID of the process |
-- |
long |
No |
-- |
-- |
Heap Kbytes(HEAP_KBYTES) |
Heap size used (KB) |
-- |
ulong |
No |
HP-UX, AIX, Linux |
-- |
Interval(INTERVAL) |
Always 0. |
-- |
ulong |
Yes |
HP-UX, Solaris, AIX, Linux |
-- |
Major Faults(MAJOR_FAULTS) |
Number of page faults that cause physical I/O operations |
-- |
ulong |
Yes |
-- |
-- |
Minor Faults(MINOR_FAULTS) |
Number of page faults that do not cause physical I/O operations |
-- |
ulong |
Yes |
-- |
-- |
Niceness(NICENESS) |
Process niceness value. The scheduler class assigned to the process affects this value. For example, when a task is assigned to the scheduler class RT, the niceness value is 0. |
-- |
long |
No |
-- |
-- |
PID(PID) |
Process ID |
-- |
long |
No |
-- |
-- |
Parent PID(PARENT_PID) |
Process ID of a parent process |
-- |
long |
No |
-- |
-- |
Priority(PRIORITY) |
Process priority |
-- |
long |
No |
-- |
-- |
Program(PROGRAM_NAME) |
Program Name. Correspond to the character string displayed in the COMMAND string of the ps -e command. In AIX, the maximum size is limited to 32 bytes. In Linux, the maximum size is limited to 15 bytes. In HP-UX, the maximum size is limited to 14 bytes. In Solaris, the maximum size is limited to 15 bytes. |
-- |
string(256) |
No |
-- |
-- |
Reads(READ_OPS) |
In AIX, this field shows the number of times RAW read operations occurred. In Solaris, this field shows the number of times Block read operation occurred. |
-- |
ulong |
Yes |
HP-UX, Linux |
-- |
Reads/sec(READ_OPS_PER_SECOND) |
Frequency at which read operations occurred (number of operations per second) |
-- |
float |
Yes |
HP-UX, Linux |
When delta value is not collected, READ_OPS ÷ when collecting Process cumulative elapsed time delta value, READ_OPS ÷ (Previous process elapsed time - Present process elapsed time) |
Real Mem Kbytes(REAL_MEMORY_KBYTES) |
Physical memory size used (KB) |
-- |
ulong |
No |
-- |
-- |
Real User(REAL_USER_NAME) |
Real user name of the process |
-- |
string(256) |
No |
-- |
-- |
Real User ID(REAL_USER_ID) |
Real user ID of the process |
-- |
long |
No |
-- |
-- |
Record Time(RECORD_TIME) |
Time at which the record was created (Greenwich Mean Time) |
-- |
time_t |
No |
-- |
-- |
Record Type(INPUT_RECORD_TYPE) |
Record type. Always PDI. |
-- |
char(8) |
No |
-- |
-- |
Shared Lib Kbytes(SHARED_LIBRARY_KBYTES) |
Size of the shared library used (KB) |
-- |
ulong |
No |
HP-UX, Solaris, AIX, Linux |
-- |
Shared Mem Kbytes(SHARED_MEMORY_KBYTES) |
Size of the shared memory used (KB) |
-- |
ulong |
No |
Solaris, AIX |
-- |
Signals Rcvd(NUMBER_OF_SIGNALS_RECEIVED) |
Number of signals received |
-- |
ulong |
Yes |
Linux |
-- |
Snapshot Time(LAST_SNAPSHOT_TIME) |
Time at which the last process table information was acquired. Shows the record time if the process table contains no information. |
-- |
time_t |
No |
-- |
-- |
Stack Kbytes(STACK_KBYTES) |
Size of the stack used by the process (KB) |
-- |
ulong |
No |
AIX |
-- |
Start Time(START_TIME) |
Process start time |
-- |
time_t |
No |
-- |
-- |
State(STATE) |
Process state. One of the following values is set: - In AIX IDLE, ZOMBIE, STOP, RUN, SWAP, NONE - In HP-UX IDLE, OTHER, RUN, SLEEP, STOP, ZOMBIE, NONE - In Solaris IDLE, ONCPU, RUN, SLEEP, STOP, ZOMBIE, NONE - In Linux IDLE, RUN, SLEEP, SWAP, STOP, ZOMBIE, NONE |
-- |
string(10) |
No |
-- |
-- |
Swaps(SWAPS) |
Number of times swapping occurred |
-- |
ulong |
Yes |
Linux |
-- |
System CPU(SYSTEM_CPU_TIME) |
Time during which the system ran in the kernel mode (seconds) |
-- |
utime |
Yes |
-- |
-- |
Terminal(TERMINAL_NAME) |
Name of the executing terminal. Process without terminal name, ?? is displayed. |
-- |
string(40) |
No |
-- |
-- |
Throughput/sec(IO_KBYTES_PER_SECOND) |
I/O operation speed (KB per second) |
-- |
float |
Yes |
AIX, Linux |
When delta value is not collected,TOTAL_IO_KBYTES ÷ when collecting Process cumulative elapsed time delta value, TOTAL_IO_KBYTES ÷ (Previous process elapsed time - Present process elapsed time) |
Total I/O Kbytes(TOTAL_IO_KBYTES) |
Total size transferred in I/O operations (KB) |
-- |
float |
Yes |
AIX, Linux |
-- |
Total I/O Ops(TOTAL_IO_OPS) |
Number of I/O operations that occurred |
-- |
ulong |
Yes |
HP-UX, AIX, Linux |
READ_OPS + WRITE_OPS |
Total I/O Ops/sec(TOTAL_IO_OPS_PER_SECOND) |
Frequency at which I/O operations occurred (number of operations per second) |
-- |
float |
Yes |
HP-UX, AIX, Linux |
When delta value is not collected, TOTAL_IO_OPS ÷ when collecting Process cumulative elapsed time delta value, TOTAL_IO_OPS ÷ (Previous process elapsed time - Present process elapsed time) |
Total Process Kbytes(TOTAL_PROCESS_KBYTES) |
Process size (KB). In AIX, the value in this field is the same as the value displayed in the SZ string obtained by the ps -l command. In HP-UX and Solaris, the value in this field is the same as the value displayed in the SZ string obtained by the ps -l command, multiplied by the page size. In Linux, the same as the value obtained from the first column of /proc/<PID>/statm * page-size ÷ 1,024. |
-- |
ulong |
No |
-- |
-- |
User(USER_NAME) |
Effective user name of the process |
-- |
string(256) |
No |
-- |
-- |
User CPU(USER_CPU_TIME) |
Time during which the CPU ran in the user mode (seconds) |
-- |
utime |
Yes |
-- |
-- |
User ID(USER_ID) |
Effective user ID of the process (for a zombie process, this field is 0 on Solaris and -3 on AIX and HP-UX.) |
-- |
long |
No |
-- |
-- |
Virtual Mem Kbytes(VIRTUAL_MEMORY_KBYTES) |
Size of the virtual memory being used (KB) |
-- |
ulong |
No |
Solaris |
-- |
Writes(WRITE_OPS) |
In AIX, this field shows the number of times RAW write operations occurred. In Solaris, this field shows the number of times Block write operation occurred. |
-- |
ulong |
Yes |
HP-UX, Linux |
-- |
Writes/sec(WRITE_OPS_PER_SECOND) |
Frequency at which write operations occurred (number of operations per second) |
-- |
float |
Yes |
HP-UX, Linux |
When delta value is not collected, WRITE_OPS ÷ when collecting Process cumulative elapsed time delta value, WRITE_OPS ÷ (Previous process elapsed time - Present process elapsed time) |