Information Technology Grimoire

Version .0.0.1

IT Notes from various projects because I forget, and hopefully they help you too.

top

Toggles

1| Toggle CPU Core Views E| Toggle G/M/K scaling l| show load as graph instead of number m| show memory as graph isntead of number

Save Config/View

Shift W

Explanations

           us, user    : time running un-niced user processes
           sy, system  : time running kernel processes
           ni, nice    : time running niced user processes
           id, idle    : time spent in the kernel idle handler
           wa, IO-wait : time waiting for I/O completion
           hi : time spent servicing hardware interrupts
           si : time spent servicing software interrupts
           st : time stolen from this vm by the hypervisor

Memory Numbers

           KiB = kibibyte = 1024 bytes
           MiB = mebibyte = 1024 KiB = 1,048,576 bytes
           GiB = gibibyte = 1024 MiB = 1,073,741,824 bytes
           TiB = tebibyte = 1024 GiB = 1,099,511,627,776 bytes
           PiB = pebibyte = 1024 TiB = 1,125,899,906,842,624 bytes
           EiB = exbibyte = 1024 PiB = 1,152,921,504,606,846,976 bytes
    1. %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 a process is multi-threaded and top is not operating in Threads mode, amounts greater than 100% may be reported.  You
       toggle Threads mode with the `H' interactive command.

       Also  for multi-processor environments, if Irix mode is Off, top will operate in Solaris mode where a task's cpu usage will be divided by the total
       number of CPUs.  You toggle Irix/Solaris modes with the `I' interactive command.

    2. %MEM  --  Memory Usage (RES)
       A task's currently resident share of available physical memory.

       See `OVERVIEW, Linux Memory Types' for additional details.

    3. CGNAME  --  Control Group Name
       The name of the control group to which a process belongs, or `-' if not applicable for that process.

       This will typically be the last entry in the full list of control groups as shown under the next heading (CGROUPS).  And as  is  true  there,  this
       field is also variable width.

    4. CGROUPS  --  Control Groups
       The names of the control group(s) to which a process belongs, or `-' if not applicable for that process.

       Control Groups provide for allocating resources (cpu, memory, network bandwidth, etc.) among installation-defined groups of processes.  They enable
       fine-grained control over allocating, denying, prioritizing, managing and monitoring those resources.

       Many different hierarchies of cgroups can exist simultaneously on a system and each hierarchy is attached to one or more subsystems.   A  subsystem
       represents a single resource.

       Note:  The  CGROUPS field, unlike most columns, is not fixed-width.  When displayed, it plus any other variable width columns will be allocated all
       remaining screen width (up to the maximum 512 characters).  Even so, such variable width fields could  still  suffer  truncation.   See  topic  5c.
       SCROLLING a Window for additional information on accessing any truncated data.

    5. CODE  --  Code Size (KiB)
       The amount of physical memory currently devoted to executable code, also known as the Text Resident Set size or TRS.

       See `OVERVIEW, Linux Memory Types' for additional details.

    6. COMMAND  --  Command Name or Command Line
       Display  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.

       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
       brackets, as in this example:
           [kthreadd]

Processor Status

            The status of the task which can be one of:
               D = uninterruptible sleep
               R = running
               S = sleeping
               T = stopped by job control signal
               t = stopped by debugger during trace
               Z = zombie

Interactive Commands

         4a. Global-Commands
               <Ent/Sp> ?, =, 0,
               A, B, d, E, e, g, h, H, I, k, q, r, s, W, X, Y, Z
         4b. Summary-Area-Commands
               C, l, t, m, 1, 2, 3
         4c. Task-Area-Commands
               Appearance:  b, J, j, x, y, z
               Content:     c, f, F, o, O, S, u, U, V
               Size:        #, i, n
               Sorting:     <, >, f, F, R
         4d. Color-Mapping
               <Ret>, a, B, b, H, M, q, S, T, w, z, 0 - 7
         5b. Commands-for-Windows
               -, _, =, +, A, a, g, G, w
         5c. Scrolling-a-Window
               C, Up, Dn, Left, Right, PgUp, PgDn, Home, End
         5d. Searching-in-a-Window
               L, &

Global Commands

`` 4a. GLOBAL Commands The global interactive commands are always available in both full-screen mode and alternate-display mode. However, some of these interactive commands are not available when running in Secure mode.

   If you wish to know in advance whether or not your top has been secured, simply ask for help and view the system summary on the second line.

     <Enter> or <Space>  :Refresh-Display
          These commands awaken top and following receipt of any input the entire display will be repainted.  They also force an update of any  hotplugged
          cpu or physical memory changes.

          Use either of these keys if you have a large delay interval and wish to see current status,

      ? | h  :Help
          There  are  two help levels available.  The first will provide a reminder of all the basic interactive commands.  If top is secured, that screen
          will be abbreviated.

          Typing `h' or `?' on that help screen will take you to help for those interactive commands applicable to alternate-display mode.

      =  :Exit-Task-Limits
          Removes restrictions on which tasks are shown.  This command will reverse any `i' (idle tasks) and  `n'  (max  tasks)  commands  that  might  be
          active.   It  also  provides  for an exit from PID monitoring, User filtering, Other filtering and Locate processing.  See the `-p' command-line
          option for a discussion of PID monitoring, the `U' or `u' interactive commands for User filtering the `O' or `o' interactive commands for  Other
          filtering and `L' or `&' interactive commands for Locate processing.

          Additionally,  any  window  that has been scrolled will be reset with this command.  See topic 5c. SCROLLING a Window for additional information
          regarding vertical and horizontal scrolling.

          When operating in alternate-display mode this command has a broader meaning.

      0  :Zero-Suppress toggle
          This command determines whether zeros are shown or suppressed for many of the fields in a task window.  Fields like UID, GID, NI, PR  or  P  are
          not affected by this toggle.

      A  :Alternate-Display-Mode toggle
          This command will switch between full-screen mode and alternate-display mode.  See topic 5. ALTERNATE-DISPLAY Provisions and the `g' interactive
          command for insight into `current' windows and field groups.

      B  :Bold-Disable/Enable toggle
          This command will influence use of the bold terminfo capability and alters both the summary area and task area for the `current' window.   While
          it is intended primarily for use with dumb terminals, it can be applied anytime.

          Note:  When  this  toggle  is  On  and top is operating in monochrome mode, the entire display will appear as normal text.  Thus, unless the `x'
          and/or `y' toggles are using reverse for emphasis, there will be no visual confirmation that they are even on.

   *  d | s  :Change-Delay-Time-interval
          You will be prompted to enter the delay time, in seconds, between display updates.

          Fractional seconds are honored, but a negative number is not allowed.  Entering 0 causes (nearly) continuous  updates,  with  an  unsatisfactory
          display  as the system and tty driver try to keep up with top's demands.  The delay value is inversely proportional to system loading, so set it
          with care.

          If at any time you wish to know the current delay time, simply ask for help and view the system summary on the second line.

      E  :Extend-Memory-Scale in Summary Area
          With this command you can cycle through the available summary area memory scaling which ranges from KiB (kibibytes or 1,024 bytes)  through  EiB
          (exbibytes or 1,152,921,504,606,846,976 bytes).

          If  you  see a `+' between a displayed number and the following label, it means that top was forced to truncate some portion of that number.  By
          raising the scaling factor, such truncation can be avoided.

      e  :Extend-Memory-Scale in Task Windows
          With this command you can cycle through the available task window memory scaling which ranges from KiB (kibibytes or 1,024  bytes)  through  PiB
          (pebibytes or 1,125,899,906,842,624 bytes).

          While  top  will try to honor the selected target range, additional scaling might still be necessary in order to accommodate current values.  If
          you wish to see a more homogeneous result in the memory columns, raising the scaling range will usually accomplish that goal.   Raising  it  too
          high, however, is likely to produce an all zero result which cannot be suppressed with the `0' interactive command.

      g  :Choose-Another-Window/Field-Group
          You  will  be  prompted  to enter a number between 1 and 4 designating the field group which should be made the `current' window.  You will soon
          grow comfortable with these 4 windows, especially after experimenting with alternate-display mode.

      H  :Threads-mode toggle
          When this toggle is On, individual threads will be displayed for all processes in all visible task windows.  Otherwise, top displays a summation
          of all threads in each process.

      I  :Irix/Solaris-Mode toggle
          When  operating  in Solaris mode (`I' toggled Off), a task's cpu usage will be divided by the total number of CPUs.  After issuing this command,
          you'll be told the new state of this toggle.

   *  k  :Kill-a-task
          You will be prompted for a PID and then the signal to send.

          Entering no PID or a negative number will be interpreted as the default shown in the prompt (the first task displayed).  A  PID  value  of  zero
          means the top program itself.

          The default signal, as reflected in the prompt, is SIGTERM.  However, you can send any signal, via number or name.

          If you wish to abort the kill process, do one of the following depending on your progress:
              1) at the pid prompt, type an invalid number
              2) at the signal prompt, type 0 (or any invalid signal)
              3) at any prompt, type <Esc>

      q  :Quit

   *  r  :Renice-a-Task
          You will be prompted for a PID and then the value to nice it to.

          Entering  no  PID  or  a negative number will be interpreted as the default shown in the prompt (the first task displayed).  A PID value of zero
          means the top program itself.

          A positive nice value will cause a process to lose priority.  Conversely, a negative nice value will cause a process to be viewed more favorably
          by the kernel.  As a general rule, ordinary users can only increase the nice value and are prevented from lowering it.

          If you wish to abort the renice process, do one of the following depending on your progress:
              1) at the pid prompt, type an invalid number
              2) at the nice prompt, type <Enter> with no input
              3) at any prompt, type <Esc>

      W  :Write-the-Configuration-File
          This  will save all of your options and toggles plus the current display mode and delay time.  By issuing this command just before quitting top,
          you will be able restart later in exactly that same state.

      X  :Extra-Fixed-Width
          Some fields are fixed width and not scalable.  As such, they are subject to truncation which would be indicated by a `+' in the last position.

          This interactive command can be used to alter the widths of the following fields:

              field  default    field  default    field  default
              GID       5       GROUP     8       WCHAN    10
              RUID      5       LXC       8       nsIPC    10
              SUID      5       RUSER     8       nsMNT    10
              UID       5       SUSER     8       nsNET    10
                                TTY       8       nsPID    10
                                USER      8       nsUSER   10
                                                  nsUTS    10

          You will be prompted for the amount to be added to the default widths shown above.  Entering zero forces a return to those defaults.

          If you enter a negative number, top will automatically increase the column size as needed until there is no more truncated data.  You can accel‐
          erate this process by reducing the delay interval or holding down the <Space> bar.

          Note:  Whether explicitly or automatically increased, the widths for these fields are never decreased by top.  To narrow them you must specify a
          smaller number or restore the defaults.

      Y  :Inspect-Other-Output
          After issuing the `Y' interactive command, you will be prompted for a target PID.  Typing a value or accepting the default results in a separate
          screen.  That screen can be used to view a variety of files or piped command output while the normal top iterative display is paused.

          Note: This interactive command is only fully realized when supporting entries have been manually added to the end of the top configuration file.
          For details on creating those entries, see topic 6c. ADDING INSPECT Entries.

          Most of the keys used to navigate the Inspect feature are reflected in its header prologue.  There are, however, additional keys available  once
          you  have  selected  a particular file or command.  They are familiar to anyone who has used the pager `less' and are summarized here for future
          reference.

              key      function
              =        alternate status-line, file or pipeline
              /        find, equivalent to `L' locate
              n        find next, equivalent to `&' locate next
              <Space>  scroll down, equivalent to <PgDn>
              b        scroll up, equivalent to <PgUp>
              g        first line, equivalent to <Home>
              G        last line, equivalent to <End>

      Z  :Change-Color-Mapping
          This key will take you to a separate screen where you can change the colors for the `current' window, or for all windows.  For details regarding
          this interactive command see topic 4d. COLOR Mapping.

   *  The commands shown with an asterisk (`*') are not available in Secure mode, nor will they be shown on the level-1 help screen.

4b. SUMMARY AREA Commands The summary area interactive commands are always available in both full-screen mode and alternate-display mode. They affect the beginning lines of your display and will determine the position of messages and prompts.

   These commands always impact just the `current' window/field group.  See topic 5. ALTERNATE-DISPLAY Provisions and  the  `g'  interactive  command  for
   insight into `current' windows and field groups.

      C  :Show-scroll-coordinates toggle
          Toggle  an informational message which is displayed whenever the message line is not otherwise being used.  For additional information see topic
          5c. SCROLLING a Window.

      l  :Load-Average/Uptime toggle
          This is also the line containing the program name (possibly an alias) when operating in full-screen mode or the `current' window name when oper‐
          ating in alternate-display mode.

      t  :Task/Cpu-States toggle
          This  command affects from 2 to many summary area lines, depending on the state of the `1', `2' or `3' command toggles and whether or not top is
          running under true SMP.

          This portion of the summary area is also influenced by the `H' interactive command toggle, as reflected in the total label  which  shows  either
          Tasks or Threads.

          This command serves as a 4-way toggle, cycling through these modes:
              1. detailed percentages by category
              2. abbreviated user/system and total % + bar graph
              3. abbreviated user/system and total % + block graph
              4. turn off task and cpu states display

          When  operating  in either of the graphic modes, the display becomes much more meaningful when individual CPUs or NUMA nodes are also displayed.
          See the the `1', `2' and `3' commands below for additional information.

      m  :Memory/Swap-Usage toggle
          This command affects the two summary area lines dealing with physical and virtual memory.

          This command serves as a 4-way toggle, cycling through these modes:
              1. detailed percentages by memory type
              2. abbreviated % used/total available + bar graph
              3. abbreviated % used/total available + block graph
              4. turn off memory display

      1  :Single/Separate-Cpu-States toggle
          This command affects how the `t' command's Cpu States portion is shown.  Although this toggle exists primarily to serve  massively-parallel  SMP
          machines, it is not restricted to solely SMP environments.

          When  you see `%Cpu(s):' in the summary area, the `1' toggle is On and all cpu information is gathered in a single line.  Otherwise, each cpu is
          displayed separately as: `%Cpu0, %Cpu1, ...'  up to available screen height.

      2  :NUMA-Nodes/Cpu-Summary toggle
          This command toggles between the `1' command cpu summary display (only) or a summary display plus the cpu usage statistics for each  NUMA  Node.
          It is only available if a system has the requisite NUMA support.

      3  :Expand-NUMA-Node
          You  will  be invited to enter a number representing a NUMA Node.  Thereafter, a node summary plus the statistics for each cpu in that node will
          be shown until either the `1' or `2' command toggle is pressed.  This interactive command is only available if a system has the  requisite  NUMA
          support.

   Note:  If  the entire summary area has been toggled Off for any window, you would be left with just the message line.  In that way, you will have maxi‐
   mized available task rows but (temporarily) sacrificed the program name in full-screen mode or the `current'  window  name  when  in  alternate-display
   mode.


## Task Window Sorting
   SORTING of task window

      For compatibility, this top supports most of the former top sort keys.  Since this is primarily a service to former top users, these commands do not
      appear on any help screen.
            command   sorted-field                  supported
            A         start time (non-display)      No
            M         %MEM                          Yes
            N         PID                           Yes
            P         %CPU                          Yes
            T         TIME+                         Yes