top(linux)——FIELDS/Columns含义

本文详细介绍了Linux系统监控工具`top`的字段含义,包括CPU使用率、内存使用、控制组、进程状态等49个关键指标,帮助用户深入理解系统资源分配和进程行为。同时提到了多线程、SMP环境下的显示差异以及进程调度、内存管理等相关概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

3. FIELDS / Columns

   3a. DESCRIPTIONS of Fields

       1. %CPU  --  CPU Usage

        2. %MEM  --  Memory Usage (RES)

        3. CGROUPS  --  Control Groups

        4. CODE  --  Code Size (KiB)

        5. COMMAND  --  Command Name or Command Line

        6. DATA  --  Data + Stack Size (KiB)

        7. ENVIRON  --  Environment variables

        8. Flags  --  Task Flags

        9. GID  --  Group Id

       10. GROUP  --  Group Name

       11. NI  --  Nice Value

       12. P  --  Last used CPU (SMP)

       13. PGRP  --  Process Group Id

       14. PID  --  Process Id

       15. PPID  --  Parent Process Id

       16. PR  --  Priority

       17. RES  --  Resident Memory Size (KiB)

       18. RUID  --  Real User Id

       19. RUSER  --  Real User Name

       20. S  --  Process Status

       21. SHR  --  Shared Memory Size (KiB)

       22. SID  --  Session Id

       23. SUID  --  Saved User Id

       24. SUPGIDS  --  Supplementary Group IDs

       25. SUPGRPS  --  Supplementary Group Names

      26. SUSER  --  Saved User Name

       27. SWAP  --  Swapped Size (KiB)

       28. TGID  --  Thread Group Id

       29. TIME  --  CPU Time

       30. TIME+  --  CPU Time, hundredths

       31. TPGID  --  Tty Process Group Id

       32. TTY  --  Controlling Tty

       33. UID  --  User Id

       34. USED  --  Memory in Use (KiB)

       35. USER  --  User Name

       36. VIRT  --  Virtual Memory Size (KiB)

       37. WCHAN  --  Sleeping in Function

       38. nDRT  --  Dirty Pages Count

       39. nMaj  --  Major Page Fault Count

       40. nMin  --  Minor Page Fault count

       41. nTH  --  Number of Threads

       42. nsIPC  --  IPC namespace

       43. nsMNT  --  MNT namespace

       44. nsNET  --  NET namespace

       45. nsPID  --  PID namespace

       46. nsUSER  --  USER namespace

       47. nsUTS  --  UTS namespace

       48. vMj  --  Major Page Fault Count Delta

       49. vMn  --  Minor Page Fault Count Delta


3. FIELDS / Columns


   3a. DESCRIPTIONS of Fields


       Listed  below  are top's available process fields (columns).  They
       are shown in strict ascii alphabetical order.  You  may  customize
       their  position  and  whether or not they are displayable with the
       `f' or `F' (Fields Management) interactive commands.

       Any field is selectable as the sort field, and you control whether
       they are sorted high-to-low or low-to-high.  For additional infor‐
       mation on sort provisions see topic 4c. TASK AREA Commands,  SORT‐
       ING.

       The  fields related to physical memory or virtual memory reference
       `(KiB)' which is the unsuffixed display mode.   Such  fields  may,
       however,  be  scaled from KiB through PiB.  That scaling is influ‐
       enced via the `e' interactive command or established  for  startup
       through a build option.


       

       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 used share of available physical memory.


        3. 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 sub‐
           systems.  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  col‐
           umns  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 Win‐
           dow for additional  information  on  accessing  any  truncated
           data.


        4. CODE  --  Code Size (KiB)


          The amount of physical memory devoted to executable code, also
           known as the Text Resident Set size or TRS.


        5. 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]

           This  field  may  also  be impacted by the forest view display
           mode.  See the `V' interactive command for additional informa‐
           tion regarding that mode.

           Note:  The  COMMAND  field, unlike most columns, is not fixed-
           width.  When displayed, it plus any other variable width  col‐
           umns  will  be allocated all remaining screen width (up to the
           maximum 512 characters).  Even so, such variable width  fields
           could  still  suffer  truncation.  This is especially true for
           this field when command lines are  being  displayed  (the  `c'
           interactive  command.)   See  topic 5c. SCROLLING a Window for
           additional information on accessing any truncated data.


        6. DATA  --  Data + Stack Size (KiB)


          The amount of physical memory devoted to other than executable
           code, also known as the Data Resident Set size or DRS.


        7. ENVIRON  --  Environment variables


          Display  all  of the environment variables, if any, as seen by
           the respective processes.  These variables will  be  displayed
           in their raw native order, not the sorted order you are accus‐
           tomed to seeing with an unqualified `set'.

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


        8. 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
           <linux/sched.h>.


        9. GID  --  Group Id


          The effective group ID.


       10. GROUP  --  Group Name


          The effective group name.


       11. 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 dispatch-ability.


       12. P  --  Last used CPU (SMP)


          A number representing the last used processor.  In a true  SMP
           environment  this will likely change frequently since the ker‐
           nel intentionally uses weak affinity.  Also, the very  act  of
           running  top  may break this weak affinity and cause more pro‐
           cesses to change CPUs more often (because of the extra  demand
           for cpu time).


       13. PGRP  --  Process Group Id


          Every  process  is  member  of a unique process group which is
           used for distribution of signals and by terminals to arbitrate
           requests  for  their input and output.  When a process is cre‐
           ated (forked), it becomes a member of the process group of its
           parent.   By convention, this value equals the process ID (see
           PID) of the first  member  of  a  process  group,  called  the
           process group leader.


       14. PID  --  Process Id


          The task's unique process ID, which periodically wraps, though
           never restarting at zero.  In kernel terms, it is a  dispatch‐
           able entity defined by a task_struct.

           This value may also be used as: a process group ID (see PGRP);
           a session ID for the session leader (see SID); a thread  group
           ID  for  the thread group leader (see TGID); and a TTY process
           group ID for the process group leader (see TPGID).


       15. PPID  --  Parent Process Id


          The process ID (pid) of a task's parent.


       16. PR  --  Priority


          The scheduling priority of the task.  If you see `rt' in  this
           field, it means the task is running under real time scheduling
           priority.

           Under linux, real time priority is somewhat  misleading  since
           traditionally  the  operating itself was not preemptible.  And
           while the 2.6 kernel can be made mostly preemptible, it is not
           always so.


       17. RES  --  Resident Memory Size (KiB)


          The non-swapped physical memory a task is using.


       18. RUID  --  Real User Id


          The real user ID.


       19. RUSER  --  Real User Name


          The real user name.


       20. S  --  Process 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

           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.


       21. SHR  --  Shared Memory Size (KiB)


          The  amount  of  shared memory available to a task, not all of
           which is typically resident.  It simply reflects  memory  that
           could be potentially shared with other processes.


       22. SID  --  Session Id


          A  session  is a collection of process groups (see PGRP), usu‐
           ally established by the login shell.  A newly  forked  process
           joins  the  session of its creator.  By convention, this value
           equals the process ID (see PID) of the  first  member  of  the
           session, called the session leader, which is usually the login
           shell.


       23. SUID  --  Saved User Id


          The saved user ID.


       24. SUPGIDS  --  Supplementary Group IDs


          The IDs of any supplementary group(s) established at login  or
           inherited from a task's parent.  They are displayed in a comma
           delimited list.

           Note: The SUPGIDS field, unlike most columns,  is  not  fixed-
           width.   When displayed, it plus any other variable width col‐
           umns 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 Win‐
           dow  for  additional  information  on  accessing any truncated
           data.


       25. SUPGRPS  --  Supplementary Group Names


          The names of any supplementary group(s) established  at  login
           or  inherited  from  a task's parent.  They are displayed in a
           comma delimited list.

           Note: The SUPGRPS field, unlike most columns,  is  not  fixed-
           width.   When displayed, it plus any other variable width col‐
           umns 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 Win‐
           dow  for  additional  information  on  accessing any truncated
           data.


 

      26. SUSER  --  Saved User Name


          The saved user name.


       27. SWAP  --  Swapped Size (KiB)


          The non-resident portion of a task's address space.


       28. TGID  --  Thread Group Id


          The ID of the thread group to which a task belongs.  It is the
           PID  of  the  thread group leader.  In kernel terms, it repre‐
           sents those tasks that share an mm_struct.


       29. TIME  --  CPU Time


          Total CPU time the task has used since it started.  When Cumu‐
           lative  mode  is  On, each process is listed with the cpu time
           that it and its dead children have used.  You  toggle  Cumula‐
           tive mode with `S', which is both a command-line option and an
           interactive command.  See  the  `S'  interactive  command  for
           additional information regarding this mode.


       30. TIME+  --  CPU Time, hundredths


          The same as TIME, but reflecting more granularity through hun‐
           dredths of a second.


       31. TPGID  --  Tty Process Group Id


          The process group ID of the foreground process  for  the  con‐
           nected tty, or -1 if a process is not connected to a terminal.
           By convention, this value equals the process ID (see  PID)  of
           the process group leader (see PGRP).


       32. 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 `?' displayed.


       33. UID  --  User Id


          The effective user ID of the task's owner.


       34. USED  --  Memory in Use (KiB)


          This  field  represents the non-swapped physical memory a task
           has used (RES) plus the non-resident portion  of  its  address
           space (SWAP).


       35. USER  --  User Name


          The effective user name of the task's owner.


       36. VIRT  --  Virtual Memory Size (KiB)


          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 and pages that have been mapped but not
           used.


       37. WCHAN  --  Sleeping in Function


          Depending on the availability of the  kernel  link  map  (Sys‐
           tem.map),  this field will show the name or the address of the
           kernel function in which the task is currently sleeping.  Run‐
           ning tasks will display a dash ('-') in this column.

           By  displaying  this  field,  top's  own  working set could be
           increased by over 700Kb,  depending  on  the  kernel  version.
           Should  that  occur, your only means of reducing that overhead
           will be to stop and restart top.


       38. nDRT  --  Dirty Pages Count


          The number of pages that have been modified  since  they  were
           last  written to auxiliary storage.  Dirty pages must be writ‐
           ten to auxiliary storage  before  the  corresponding  physical
           memory location can be used for some other virtual page.


       39. nMaj  --  Major 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  auxiliary  storage
           access is involved in making that page available.


       40. nMin  --  Minor Page Fault count


          The number of minor 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 minor page fault does not involve  auxiliary
           storage access in making that page available.


       41. nTH  --  Number of Threads


          The number of threads associated with a process.


       42. nsIPC  --  IPC namespace


          The Inode of the namespace used to isolate interprocess commu‐
           nication (IPC) resources such as  System  V  IPC  objects  and
           POSIX message queues.


       43. nsMNT  --  MNT namespace


          The  Inode  of  the namespace used to isolate filesystem mount
           points thus offering different views of the filesystem hierar‐
           chy.


       44. nsNET  --  NET namespace


          The  Inode  of the namespace used to isolate resources such as
           network devices, IP addresses, IP routing, port numbers, etc.


       45. nsPID  --  PID namespace


          The Inode of the namespace used to isolate process ID  numbers
           meaning  they  need not remain unique.  Thus, each such names‐
           pace could have its own `init' (PID #1) to manage various ini‐
           tialization tasks and reap orphaned child processes.


       46. nsUSER  --  USER namespace


          The  Inode of the namespace used to isolate the user and group
           ID numbers.  Thus, a process could have a normal  unprivileged
           user  ID outside a user namespace while having a user ID of 0,
           with full root privileges, inside that namespace.


       47. nsUTS  --  UTS namespace


          The Inode of the namespace used to isolate  hostname  and  NIS
           domain name.  UTS simply means "UNIX Time-sharing System".


       48. vMj  --  Major Page Fault Count Delta


          The  number  of major page faults that have occurred since the
           last update (see nMaj).


       49. vMn  --  Minor Page Fault Count Delta


          The number of minor page faults that have occurred  since  the
           last update (see nMin).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值