top命令

1 top命令介绍

top命令是Linux系统中常用的性能分析工具,可以实时地查看系统的运行情况,比如内存、CPU、负载以及各个进程的资源占用情况。

1.1 选项和参数

    -d:后面接数字,代表进程界面更新的描述,默认5秒

    -b:批量的方式执行

    -n:与-b搭配,执行几次top的输出结果

    -p:可指定某个PID进行检测

1.2 按键命令

    P:按照CPU使用排序

    M:以Memory排序

    N:以PID排序

    T:进程使用时间排序

    r:基于某个PID新的nice值

1.3 输出结果

[root@host-192-168-30-156 tecs]# top -d 2
top - 14:13:30 up 11 days,  5:39,  4 users,  load average: 0.21, 0.26, 0.31
Tasks: 877 total,   1 running, 876 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.1 us,  0.3 sy,  0.0 ni, 99.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st, 99.4 id_exact,  0.0 hi_exact,  0.0 irq_exact
KiB Mem : 39436160+total, 38492886+free,  7249556 used,  2183196 buff/cache
KiB Swap:        0 total,        0 free,        0 used. 38524627+avail Mem

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
  7516 root      39  19       0      0      0 S   1.5  0.0   2611:24 kipmi0
112202 root      20   0  162928   3224   1616 R   1.0  0.0   0:00.16 top
 16326 root      20   0  191380   9560   3632 S   0.5  0.0 131:57.06 zxdvs_guard.py
     1 root      30  10   60804  13236   4200 S   0.5  0.0 265:51.96 systemd

第一行:表示当前时间14:13:30,开机11天5小时39分,以及登录系统的人数4个,系统在1,5,15分钟的平均任务负载是0.21, 0.26, 0.31(ps,一般来说Load Average的数值别超过这台机器的总核数)

第二行:代表目前进程的总数和各状态的数量

  • running(运行状态)

        当进程正在被cpu执行,或已经准备就绪随时可由调度程序执行.

  • sleeping(睡眠状态)

        当系统产生一个终断或者释放了进程正在等待的资源,可以唤醒进程转换到运行状态

  • stopped(终止状态)
  • zombie(僵死状态)

        进程已停止运行,但其父进程还没有询问其状态,不为0最好确认是哪个process

第三行:显示CPU的整体负载,多内核可以按下【1】切换成不同CPU的负载率

  • us:用户空间占用CPU时间的百分比(大部分进程都运行在用户态,通常都是希望用户空间CPU越高越好)
  • sy:内核空间占用CPU时间的百分比(Linux内核态占用的CPU时间,系统 CPU占用越高,表明系统某部分存在瓶颈。通常这个值越低越好)
  • ni:占用CPU时间的百分比(ni是nice的缩写,进程用户态的优先级,如果调整过优先级,那么展示的就是调整过nice值的进程消耗掉的CPU时间,如果系统中没有进程被调整过nice值,那么ni就显示为0)
  • id:空闲CPU占用率,等待进程运行
  • wa:等待输入输出的CPU时间百分比(wa表示 CPU 在等待 IO 操作完成所花费的时间。系统不应该花费大量的时间来等待 IO 操作,否则就说明 IO 存在瓶颈
  • hi:CPU硬中断时间百分比(硬中断是硬盘、网卡等硬件设备发送给CPU的中断消息 )
  • si:CPU软中断时间百分比(软中断是由程序发出的中断 )
  • st:被强制等待(involuntary wait)虚拟 CPU 的时间

第四、五行:目前物理内存与虚拟内存(Mem/Swap)情况,swap的使用量要尽量的少,如果用的很多,说明系统的物理内存不足

第六行:进程显示的具体状态

  • PID:进程id
  • USER:进程所有者
  • PR:进程的优先级,越小优先级越高
  • NI:nice值,负值表示高优先级,正值表示低优先级
  • VIRT:进程使用的虚拟内存,单位是kb
  • RES:进程使用的物理内存,单位kb
  • SHR:进程使用的共享内存,单位kb
  • S:进程状态(S表示休眠,R表示正在运行, Z表示僵死状态,N表示该进程优先值为负数,I表示空闲状态)
  • %CPU:进程占用的CPU使用率
  • %MEM:进程使用的物理内存和总内存的百分比
  • TIME+:进程使用的CPU时间总计,单位1/100秒
  • COMMAND:命令行

2 虚拟内存VIRT、物理内存RES、共享内存SHR

  • 虚拟内存VIRT

        1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据,以及malloc、new分配的堆空间和分配的栈空间等;
        2、假如进程新申请10MB的内存,但实际只使用了1MB,那么它会增长10MB,而不是实际的1MB使用量。

  • 物理内存RES

        1、进程当前使用的内存大小,包括使用中的malloc、new分配的堆空间和分配的栈空间,但不包括swap out量;
        2、包含其他进程的共享;
        3、如果申请10MB的内存,实际使用1MB,它只增长1MB;

  • 共享内存SHR

        1、进程当前使用的内存大小,包括使用中的malloc、new分配的堆空间和分配的栈空间,但不包括swap out量;
        2、包含其他进程的共享;
        3、如果申请10MB的内存,实际使用1MB,它只增长1MB;

上述三个值是从/proc/pid/statm文件中格式化读出来的,前三个值分别是VIRT、RES、SHR,单位是页,常见的是4kb。

以上部分内容转载自https://blog.csdn.net/weixin_40734030/article/details/125558689

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值