Linux 系统CPU (top )

   top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况。top有两种交互模式的选项:

命令行选项和运行时选项。多核CPU命令: mpstat -P ALL  和  sar -P ALL

一、查看top版本信息如下:

[root@resines ~]# top -vh 
  procps-ng version 3.3.10
Usage:
  top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]

二、top命令行选项:

 top  [ -d delay ] [  -n iter ] [ -i ]  [ -b ]

  • -d delay  : 统计信息更新的时间间隔;
  • -n interations: 退出前迭代的次数。
  • p : 通过指定监控进程ID来仅仅监控某个进程的状态。 例如:top -p 1563 
  • -i  : 是否显示空闲进程;
  • -b : 批量模式运行;
[root@resines ~]# top -p 1563 -n 1
top - 17:08:14 up 17:21,  1 user,  load average: 0.00, 0.01, 0.05
Tasks:   1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.1 sy,  0.0 ni, 99.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  7995716 total,  7035892 free,   194700 used,   765124 buff/cache
KiB Swap:  5242876 total,  5242876 free,        0 used.  7537008 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND        
  1563 etcd      20   0 10.753g  41964  26224 S   0.0  0.5  16:33.87 etcd  

三、运行时选项

[root@resines ~]# top 
top - 17:10:29 up 17:23,  1 user,  load average: 0.00, 0.01, 0.05
Tasks: 403 total,   1 running, 402 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.1 sy,  0.0 ni, 99.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  7995716 total,  7035784 free,   195060 used,   764872 buff/cache
KiB Swap:  5242876 total,  5242876 free,        0 used.  7536900 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND        
     1 root      20   0  191836   6988   2572 S   0.0  0.1   0:35.15 systemd        
     2 root      20   0       0      0      0 S   0.0  0.0   0:00.14 kthreadd       
     3 root      20   0       0      0      0 S   0.0  0.0   0:00.06 ksoftirqd/0    
     5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H   
     7 root      rt   0       0      0      0 S   0.0  0.0   0:00.21 migration/0    
    

 

         

top - 17:10:29 up 17:23,  1 user,  load average: 0.00, 0.01, 0.05

    依次对应:系统当前时间 up 系统到目前为止i运行的时间, 当前登陆系统的用户数量, load average 三个数字分别表示距离现在一分钟,五分钟,十五分钟的负载情况。 这行信息与命令uptime显示的信息相同 
注意:load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

Tasks: 403 total,   1 running, 402 sleeping,   0 stopped,   0 zombie

tasks表示任务(进程),403 total则表示现在有403 个进程,其中处于运行中的有2个,402 个在休眠(挂起),stopped状态即停止的进程数为0,zombie状态即僵尸的进程数为0个。
 

%Cpu(s):  0.0 us,  0.1 sy,  0.0 ni, 99.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
  • us : user 用户空间占用cpu的百分比 
  • sy : system 内核空间占用cpu的百分比 
  • ni : niced 改变过优先级的进程占用cpu的百分比 
  • id : 空闲cpu百分比 
  • wa : IO wait IO等待占用cpu的百分比 
  • hi : Hardware IRQ 硬中断 占用cpu的百分比 
  • si : software 软中断 占用cpu的百分比 
  • st : 被hypervisor偷去的时间
KiB Mem :  7995716 total,  7035784 free,   195060 used,   764872 buff/cache

    物理内存总量(8G),空闲内存总量(7.1G),使用中的内存总量(1.9G),缓冲内存量 ,使用中的内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心 
 

KiB Swap:  5242876 total,  5242876 free,        0 used.  7536900 avail Mem 


依次对应:交换区总量(5.2G),空闲交换区总量(5.2G),使用的交换区总量(0G),可用交换取总量

对于内存监控,在top里我们要时刻监控swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。
 

PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND 
  • PID :     进程id 
  • USER : 进程所有者 
  • PR:       进程优先级 
  • NI :       nice值。负值表示高优先级,正值表示低优先级 
  • VIRT:    进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES 
  • RES  :     进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA 
  • SHR   :    共享内存大小,单位kb 
  • S  :           进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程 
  • %CPU  :  上次更新到现在的CPU时间占用百分比 
  • %MEM  :  进程使用的物理内存百分比 
  • TIME+   :  进程使用的CPU时间总计,单位1/100秒 
  • COMMAND  :  进程名称(命令名/命令行)

 

备注: 查询更多按 "h" 帮助 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值