top命令下的参数详解,以及htop和top的比较

top

top - 00:29:17 up 1 day, 26 min,  2 users,  load average: 0.01, 0.01, 0.00
Tasks: 301 total,   1 running, 229 sleeping,   0 stopped,   1 zombie
%Cpu(s):  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :   985128 total,    63648 free,   792520 used,   128960 buff/cac
KiB Swap:   969960 total,    72952 free,   897008 used.    56732 avail Mem

PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
71720 root    20   0  531384  11752      0 S   0.3  1.2   8:53.33 dockerd
  • 首先读头部的每个参数进行解释,可以通过man top查看
    • 第一行:当前时间 + 系统启动的时间和 + 当前登录用户数+ cpu 1min,5min, 15min的负载

    • 第二行:总共的任务数(线程数)+ 正在运行tasks个数 + 休眠的tasks数 + 停止的tasks数 + 僵尸tasks数
      • man top中又描述 Line 1 shows total tasks or threads, depending on the state of the Threads-mode toggle. 所以在线程模式下tasks表示的是线程数。

    • 第三行:CPU当前负载 + us + sy + ni + id + wa + hi + si + st
      • 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 | IO 等待的负载
      • hi : time spent servicing hardware interrupts | 硬中断的负载
      • si : time spent servicing software interrupts | 软中断的负载
      • st : time stolen from this vm by the hypervisor | 从虚拟机管理程序中偷取的时间???

    • 第四行:内存总量 + 剩余内存 + 已用内存 + 缓冲区

    • 第五行:交换空间总量 + 剩余交换空间 + 已用交换空间 + 已分配的交换空间
      • 交换空间是干什么的?在多道程序设计的操作系统中,为了解决内存不足的问题,利用了局部性定理,将程序运行时部分装入内存,其他一部分存在外存,需要调用存在外存那部分程序时,先将内存中已有的程序调出内存,再把用到的外存上的程序调入内存,这里的用于调入调出内存的物理空间,就是交换空间。

    • 第六行:pid + 运行进程的用户 + 优先级 + 优先级 + 虚拟内存 + 常驻内存 + 共享内存 + 进程状态 + CPU负载 + 内存占用 + 启动的时间 + 进程名
      • PR: 动态优先级,取值范围0-139,越小优先级越低
      • NICE:静态优先级,通过renic改变,进程的优先级,取值范围-20~19,越小优先级越高
      • S(进程状态): D: 不可中断的睡眠状态; R 运行; S 睡眠; T 跟踪/停止; Z 僵尸进程

htop

                                                                                               
  1  [|                                1.3%]   Tasks: 156, 354 thr; 1 running                  
  2  [                                 0.0%]   Load average: 0.06 0.01 0.00                    
  Mem[||||||||||||||||||||||||||||757M/962M]   Uptime: 1 day, 01:24:56                         
  Swp[||||||||||||||||||||||||||||878M/947M]                                                   
                                                                                               
   PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command                        
 79086 tangs      20   0 40936  4604  3412 R  0.7  0.5  0:00.10 htop      
F1Help  F2Setup F3SearchF4FilterF5Tree  F6SortByF7Nice -F8Nice +F9Kill  F10Quit                     

好像很多人都说htop比top好用,我也觉得。我觉得操作和视图很直观。

  • 第一行: 就是cpu的负载,如果多个cpu就会有1.2.3… 要是要注意,这里的cpu是逻辑cpu个数,不是物理cpu个数

  • 第三行:内存占用,很直观

  • 第四行:交换空间占用,上面有提到

  • 第一三行的右边:进程数,线程数,正在运行的任务数,1,5,15分钟cpu的负载,启动时间

  • 第五行:pid + 运行进程的用户 + 优先级 + 优先级 + 虚拟内存 + 常驻内存 + 共享内存 + 进程状态 + CPU负载 + 内存占用 + 启动的时间 + 进程名

  • 最后一行: 操作按键,这一行跳转 https://www.jianshu.com/p/6e9b0cc7f348。 这篇文章很详细了。

参考文章:

  1. https://blog.csdn.net/sasoritattoo/article/details/9318893
  2. https://www.jianshu.com/p/6e9b0cc7f348
  3. https://www.cnblogs.com/knitmesh/p/5412601.html
发布了21 篇原创文章 · 获赞 15 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/Tangs_/article/details/86109363
今日推荐