top
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| top [2012/03/21 10:48] – created k2patel | top [2020/08/10 02:35] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== TOP ====== | ====== TOP ====== | ||
| command to help understanding system performance. | command to help understanding system performance. | ||
| + | |||
| + | ==== Block on Top ==== | ||
| + | |||
| <code bash | Cpu(s) Row> | <code bash | Cpu(s) Row> | ||
| Line 9: | Line 12: | ||
| id = idle | id = idle | ||
| hi = hardware interrupts | hi = hardware interrupts | ||
| - | si = software interrupts | + | si = software interrupts |
| + | st = steal time (time in involuntary wait by virtual cpu while hypervisor is servicing another processor) | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Columns ==== | ||
| + | |||
| + | Listed below are top's available fields. They are always associated with the letter shown, \\ | ||
| + | regardless of the position you may have established for them with the ' | ||
| + | |||
| + | Any field is selectable as the sort field, and you control whether they are sorted high-to-low or low-to-high.\\ | ||
| + | For additional information on sort provisions see topic 3c. TASK Area Commands. | ||
| + | |||
| + | <code text | Fields > | ||
| + | a: PID -- Process Id | ||
| + | The task's unique process ID, which periodically wraps, though never restarting at zero. | ||
| + | b: PPID -- Parent Process Pid | ||
| + | The process ID of a task's parent. | ||
| + | c: RUSER -- Real User Name | ||
| + | The real user name of the task's owner. | ||
| + | d: UID -- User Id | ||
| + | The effective user ID of the task's owner. | ||
| + | e: USER -- User Name | ||
| + | The effective user name of the task's owner. | ||
| + | f: GROUP -- Group Name | ||
| + | The effective group name of the task's owner. | ||
| + | g: TTY -- Controlling Tty | ||
| + | The name of the controlling terminal. This is usually the device (serial port, pty, etc.) | ||
| + | from which the process was started, and which it uses for input or output. | ||
| + | However, a task need not be associated with a terminal, in which case you'll see '?' | ||
| + | h: PR -- Priority | ||
| + | The priority of the task. | ||
| + | i: NI -- Nice value | ||
| + | The nice value of the task. A negative nice value means higher priority, | ||
| + | whereas a positive nice value means lower priority. | ||
| + | Zero in this field simply means priority will not be adjusted in determining a task's dispatchability. | ||
| + | j: P -- Last used CPU (SMP) | ||
| + | A number representing the last used processor. | ||
| + | In a true SMP environment this will likely change frequently since the kernel intentionally uses weak affinity. | ||
| + | Also, the very act of running top may break this weak affinity and cause more processes to change | ||
| + | CPUs more often (because of the extra demand for cpu time). | ||
| + | k: %CPU -- CPU usage | ||
| + | The task's share of the elapsed CPU time since the last screen update, | ||
| + | expressed as a percentage of total CPU time. In a true SMP environment, | ||
| + | if 'Irix mode' is Off, top will operate in ' | ||
| + | You toggle ' | ||
| + | l: TIME -- CPU Time | ||
| + | Total CPU time the task has used since it started. When ' | ||
| + | each process is listed with the cpu time that it and its dead children has used. | ||
| + | You toggle ' | ||
| + | See the ' | ||
| + | m: TIME+ -- CPU Time, hundredths | ||
| + | The same as ' | ||
| + | n: %MEM -- Memory usage (RES) | ||
| + | A task's currently used share of available physical memory. | ||
| + | o: VIRT -- Virtual Image (kb) | ||
| + | The total amount of virtual memory used by the task. | ||
| + | It includes all code, data and shared libraries plus pages that have been swapped out. | ||
| + | (Note: you can define the STATSIZE=1 environment variable and the VIRT will be calculated from the / | ||
| + | |||
| + | VIRT = SWAP + RES. | ||
| + | p: SWAP -- Swapped size (kb) | ||
| + | The swapped out portion of a task's total virtual memory image. | ||
| + | q: RES -- Resident size (kb) | ||
| + | The non-swapped physical memory a task has used. | ||
| + | |||
| + | RES = CODE + DATA. | ||
| + | r: CODE -- Code size (kb) | ||
| + | The amount of physical memory devoted to executable code, also known as the 'text resident set' size or TRS. | ||
| + | s: DATA -- Data+Stack size (kb) | ||
| + | The amount of physical memory devoted to other than executable code, also known as the 'data resident set' size or DRS. | ||
| + | t: SHR -- Shared Mem size (kb) | ||
| + | The amount of shared memory used by a task. It simply reflects memory that could be potentially shared with other processes. | ||
| + | u: nFLT -- Page Fault count | ||
| + | The number of major page faults that have occurred for a task. | ||
| + | A page fault occurs when a process attempts to read from or write to a virtual page that is not currently present in its address space. | ||
| + | A major page fault is when disk access is involved in making that page available. | ||
| + | v: nDRT -- Dirty Pages count | ||
| + | The number of pages that have been modified since they were last written to disk. | ||
| + | Dirty pages must be written to disk before the corresponding physical memory location can be used for some other virtual page. | ||
| + | w: S -- Process Status | ||
| + | The status of the task which can be one of: ' | ||
| + | Tasks shown as running should be more properly thought of as 'ready to run' -- their task_struct is simply represented on the Linux run-queue. | ||
| + | Even without a true SMP machine, you may see numerous tasks in this state depending on top's delay interval and nice value. | ||
| + | x: Command -- Command line or Program name | ||
| + | Display the command line used to start a task or the name of the associated program. | ||
| + | You toggle between command line and name with ' | ||
| + | |||
| + | When you've chosen to display command lines, | ||
| + | processes without a command line (like kernel threads) will be shown with only the program name in parentheses, | ||
| + | as in this example: ( mdrecoveryd ) | ||
| + | |||
| + | Either form of display is subject to potential truncation if it's too long to fit in this field' | ||
| + | That width depends upon other fields selected, their order and the current screen width. | ||
| + | |||
| + | Note: The ' | ||
| + | When displayed, this column will be allocated all remaining screen width | ||
| + | (up to the maximum 512 characters) to provide for the potential growth of program names into command lines. | ||
| + | y: WCHAN -- Sleeping in Function | ||
| + | Depending on the availability of the kernel link map (' | ||
| + | this field will show the name or the address of the kernel function in which the task is currently sleeping. | ||
| + | Running tasks will display a dash (' | ||
| + | |||
| + | Note: By displaying this field, top's own working set will be increased by over 700Kb. | ||
| + | Your only means of reducing that overhead will be to stop and restart top. | ||
| + | z: Flags -- Task Flags | ||
| + | This column represents the task's current scheduling flags which are expressed in hexadecimal notation and with zeros suppressed. | ||
| + | These flags are officially documented in < | ||
| + | Less formal documentation can also be found on the ' | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== .toprc ==== | ||
| + | .toprc is the file you do not need to play with it all the time.\\ | ||
| + | Here is my .toprc file.\\ | ||
| + | |||
| + | |||
| + | <code bash | ~/ | ||
| + | |||
| + | RCfile for "top with windows" | ||
| + | Id:a, Mode_altscr=0, | ||
| + | Def | ||
| + | winflags=130489, | ||
| + | summclr=6, msgsclr=1, headclr=3, taskclr=2 | ||
| + | Job | ||
| + | winflags=64825, | ||
| + | summclr=6, msgsclr=6, headclr=7, taskclr=6 | ||
| + | Mem | ||
| + | winflags=64825, | ||
| + | summclr=5, msgsclr=5, headclr=4, taskclr=5 | ||
| + | Usr | ||
| + | winflags=64825, | ||
| + | summclr=3, msgsclr=3, headclr=2, taskclr=3 | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | Playing with color is not advised from interface as it was hard for me :) still you can try using " | ||
| + | Here is how i played. | ||
| + | |||
| + | <code text> | ||
| + | |||
| + | Select target as upper case letter: | ||
| + | S = Summary Data, M = Messages/ | ||
| + | H = Column Heads, | ||
| + | Select color as number: | ||
| + | 0 = black, | ||
| + | 4 = blue, 5 = magenta, | ||
| + | |||
| </ | </ | ||
| + | **Curwin=0** Which define which block you are using start the first one as " | ||
| + | **summclr=6, | ||
top.1332326919.txt.gz · Last modified: 2020/08/10 02:29 (external edit)
