Display system information in a Photon window
psin [-h height] [-S i|m|n] [-s server] [-w width] [-x x_pos] [-y y_pos]
The psin utility displays system information in a graphical manner (for a textual version of this command, see sin).
When you invoke psin, it displays a Photon window titled System Process Inspector.
This window contains two menu items, and an upper and lower pane.
There are two menus at the top of the System Process Inspector window: File and Action.
The File menu:
This feature is currently under development |
The Action menu lets you:
The upper pane in the System Process Inspector window displays the following headers:
Header | Description |
---|---|
Pid | Process ID |
Code | Size of code memory |
Data | Size of data memory |
Stack | Amount of stack currently mapped |
Vstack | Maximum amount of stack allowed |
CPU | Total CPU occupancy time, in milliseconds |
You can sort the displayed processes by clicking on column headers. When you've selected the process you're interested in, you can view specific information about that process by selecting a particular tab in the lower pane.
The lower pane in the System Process Inspector window displays several tabs used to provide detailed information about a selected process.
Clicking this tab shows information about the threads of the displayed process, as follows:
This column: | Shows this: |
---|---|
Tid | Thread ID |
Priority | Scheduling priority number and scheduling algorithm (see below) |
State | Current state of the thread (see below for possible states) |
Blocked | The PID that this process is blocked on |
IP | The EIP register set used by the displayed processes |
CPU | CPU occupancy time, in milliseconds |
The letter following the scheduling priority number stands for the scheduling algorithm used, as follows:
For more information on these scheduling algorithms, see "Thread scheduling" in the QNX Neutrino Microkernel chapter of the System Architecture guide.
Possible thread states:
State: | Meaning: |
---|---|
CONDVAR | Blocked on a condition variable |
DEAD | Terminated, waiting for a join by another thread |
INTERRUPT | Blocked, waiting for interrupt |
JOIN | Blocked, waiting to join another thread |
MUTEX | Blocked on a mutual exclusion lock |
NANOSLEEP | Sleeping for a short time |
READY | Waiting while processor executes another thread |
RECEIVE | Blocked on a message receive |
REPLY | Blocked on a message reply |
RUNNING | Being executed |
SEM | Waiting for a semaphore to be posted |
SEND | Blocked on a message send |
SIGSUSPEND | Blocked waiting for a signal |
SIGWAITINFO | Blocked waiting for a signal |
STACK | Waiting for virtual address space allocation |
STOPPED | Blocked, waiting for a SIGCONT signal |
WAITCTX | Waiting for a non integer (e.g. floating point) context |
WAITPAGE | Waiting for physical memory allocation |
WAITTHREAD | Waiting for child thread creation |
Clicking this tab shows details about the memory used by the displayed process, as follows:
This column: | Shows this: |
---|---|
Name | Name of program or device |
Vaddr | Virtual address |
Offset | Virtual address offset |
Code | Size of code memory |
Map | Code memory mapping flags (see below) |
Data | Size of data memory |
Map | Data memory mapping flags (see below) |
Memory mapping flags:
For more information, see mmap() in the Neutrino Library Reference.
Clicking this tab shows information about the file descriptors used by the displayed process, as follows:
This column: | Shows this: |
---|---|
FD | File descriptor |
Server PID | Process ID of server |
Mode | W (write) R (read) |
Offset/Size | Memory details |
Pathname | FD path |
Click this tab to see the arguments used when the displayed process was started.
Click this tab to see the environment variables used by the displayed process.
Clicking this tab shows the signal state of the displayed process, as follows:
This column: | Shows this: |
---|---|
Tid | Thread ID |
Ignored/Blocked (64-49.48-33) | Mask for signals 33-64 |
Ignored/Blocked (32-17.16-1) | Mask for signals 1-32 |
Pending (64-49.48-33) | Signals 33-64 waiting to be unmasked |
Pending (32-17.16-1) | Signals 1-32 waiting to be unmasked |
Clicking this tab shows information about the user IDs associated with the displayed process, as follows:
This column: | Shows this: |
---|---|
UID | Real user ID |
EUID | Effective user ID |
SUID | Saved user ID |
GID | Real group ID |
EGID | Effective group ID |
SGID | Saved group ID |
Clicking this tab shows information about the timers used by the displayed process, as follows:
This feature is under development. |
This column: | Shows this: |
---|---|
Timer | PID and process name |
Stuff | TBD |
Clicking this tab shows information about interrupts used by the displayed process, as follows:
This feature is under development. |
This column: | Shows this: |
---|---|
FD | file descriptor |
Data | TBD |
Currently, this feature is available only for x86 platforms. |
Clicking this tab shows information about the register sets used by the displayed process, as follows:
This column: | Shows this: |
---|---|
TID | Thread ID |
EIP | Instruction pointer |
EAX | Accumulation register |
EBX | Accumulation register |
ECX | Accumulation register |
EDX | Accumulation register |
ESI | General-purpose register |
EDI | General-purpose register |
EBP | Stack-frame pointer |
ESP | Stack pointer |
EFLAGS | Status register |
Clicking this tab gives timing information about the displayed process, as follows:
This column: | Shows this: |
---|---|
Start Time | The date and time this process was started |
System | Milliseconds of CPU time taken by the system on behalf of this process |
User | Milliseconds of CPU time taken by this process itself |
Child System | Milliseconds of CPU time taken by the system on behalf of the children of this process |
Child User | Milliseconds of CPU time taken by the children of this process |
Run psin window at an initial position (10,10) with initial dimension of 200*300.
psin -x10 -y10 -h200 -w300
Run psin using the Photon server on the computer known as remote_server on your network:
psin -s remote_server
Or
psin -s remote_server/dev/photon
Fine-Tuning Your System in the Neutrino User's Guide