Using top
The top tool provides CPU and memory usage estimates from the /proc/
file system.
A simplified version of top is preinstalled on the Harmattan device. Compared to top, the separately downloadable htop is a more versatile tool.
The top and htop tools can be used to monitor and find out which processes are taking the most CPU or memory so that you know which issue or which process to investigate to solve the performance problem.
Using the tool
For specific instructions, see top manual page.
Output example:
top - 11:56:25 up 120 days, 1:40, 8 users, load average: 0.28, 0.16, 0.10 Tasks: 124 total, 1 running, 122 sleeping, 1 stopped, 0 zombie Cpu(s): 1.3%us, 0.2%sy, 0.0%ni, 98.3%id, 0.2%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 2074208k total, 1713704k used, 360504k free, 413784k buffers Swap: 2650684k total, 210308k used, 2440376k free, 201172k cached PID USER PR NI VIRT RES SHR S-%CPU-%MEM TIME+ COMMAND 13730 etammine 20 0 473m 332m 21m S 24 16.4 1539:10 xulrunner-stub 3324 root 20 0 254m 86m 8108 S 2 4.3 1745:21 Xorg 1 root 20 0 1980 460 404 S 0 0.0 0:44.74 init 2 root 15 -5 0 0 0 S 0 0.0 0:00.04 kthreadd 3 root RT -5 0 0 0 S 0 0.0 0:01.04 migration/0 4 root 15 -5 0 0 0 S 0 0.0 8:45.82 ksoftirqd/0 5 root RT -5 0 0 0 S 0 0.0 0:00.50 watchdog/0
The following table presents the output of the tool.
Field | Description |
---|---|
PID | The task’s unique process ID, which periodically wraps, though never restarting at zero. |
PPID | The process ID of a task’s parent. |
USER | The effective user name of the task’s owner. |
PR | The priority of the task. |
NI | 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. |
VIRT | The total amount of virtual memory used by the task, in kB. It includes all code, data and shared libraries and pages that have been swapped out, and pages that have been mapped but not used. VIRT = SWAP + RES. |
RES | The resident/non-swapped physical memory a task has reserved, in kB. RES = CODE + DATA. |
SHR | The amount of shared memory used by a task, in kB. It simply reflects memory that could be potentially shared with other processes. |
S | The status of the task which can be one of: ’D’ = uninterruptible sleep, ’R’ = running, ’S’ = sleeping, ’T’ = traced or stopped,’Z’ = zombie |
%CPU | The task’s share of the elapsed CPU time since the last screen update, expressed as a percentage of total CPU time. |
%MEM | A task’s currently used share (RES) of available physical memory. |
TIME+ | Total CPU time the task has used since it started. |
COMMAND | The command line used to start a task or the name of the associated program. You toggle between command line and name with ’c’, which is both a command-line option and an interactive command. |