精华内容
下载资源
问答
  • top命令是Linux下常用的性能分析工具,比如cpu、内存的使用,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。 top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按键来...
  • 前言Linux下的top命令我相信大家都用过,自从我接触Linux以来就一直...以及top命令输出结果的来源数据是什么呢,又是怎么一个计算原理呢?演示环境# uname -aLinux VM_1_11_centos 3.10.0-693.el7.x86_64 #1 SMP Tu...

    前言

    Linux下的top命令我相信大家都用过,自从我接触Linux以来就一直用top查看进程的CPU和MEM排行榜。但是top命令的其他输出结果我都没有了解,这些指标都代表什么呢,什么情况下需要关注呢?以及top命令输出结果的来源数据是什么呢,又是怎么一个计算原理呢?

    演示环境

    # uname -a

    Linux VM_1_11_centos 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

    top命令

    top命令是Linux下常用的性能分析工具,能够实时(默认是3s刷新一次)的显示系统的资源使用情况,以及各种进程的资源使用情况,类似于Windows的任务管理器。

    top - 11:00:54 up 54 days, 23:35, 6 users, load average: 16.32, 18.75, 21.04

    Tasks: 209 total, 3 running, 205 sleeping, 0 stopped, 1 zombie

    %Cpu(s): 29.7 us, 18.9 sy, 0.0 ni, 49.3 id, 1.7 wa, 0.0 hi, 0.4 si, 0.0 st

    KiB Mem : 32781216 total, 1506220 free, 6525496 used, 24749500 buff/cache

    KiB Swap: 0 total, 0 free, 0 used. 25607592 avail Mem

    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

    root 20 0 15.6g 461676 4704 R 198.0 1.4 11:15.26 python

    root 20 0 9725596 240028 4672 R 113.0 0.7 7:48.49 python

    root 20 0 6878028 143196 4720 S 82.4 0.4 1:35.03 python

    第一行数据相当于uptime命令输出。11:00:54是当前时间,up 54 days,23:55 是系统已经运行的时间,6 users表示当前有6个用户在登录,load average:16.32,18.75,21.04分别表示系统一分钟平均负载,5分钟平均负载,15分钟平均负载。

    平均负载

    平均负载表示的平均活跃进程数,包括正在running的进程数,准备running(就绪态)的进程数,和处于不可中断睡眠状态的进程数。如果平均负载数刚好等于CPU核数,那证明每个核都能得到很好的利用,如果平均负载数大于核数证明系统处于过载的状态,通常认为是超过核数的70%认为是严重过载,需要关注。还需结合1分钟平均负载,5分钟平均负载,15分钟平均负载看负载的趋势,如果1分钟负载比较高,5分钟和15分钟的平均负载都比较低,则说明是瞬间升高,需要观察。如果三个值都很高则需要关注下是否某个进程在疯狂消耗CPU或者有频繁的IO操作,也有可能是系统运行的进程太多,频繁的进程切换导致。比如说上面的演示环境是一台8核的centos机器,证明系统是长期处于过载状态在运行。

    Tasks: 214 total,   4 running, 209 sleeping,   0 stopped,   1 zombie

    第二行的Tasks信息展示的系统运行的整体进程数量和状态信息。214 total 表示系统现在一共有214个用户进程,4 running 表示4个进程正在处于running状态,209 sleeping表示209个进程正处于sleeping状态,0 stopped 表示 0 个进程正处于stopped状态,1 zombie表示 有1个僵尸进程。

    僵尸进程

    子进程结束时父进程没有调用wait()/waitpid()等待子进程结束,那么就会产生僵尸进程。原因是子进程结束时并没有真正退出,而是留下一个僵尸进程的数据结构在系统进程表中,等待父进程清理,如果父进程已经退出则会由init进程接替父进程进行处理(收尸)。由此可见,如果父进程不作为并且又不退出,就会有大量的僵尸进程,每个僵尸进程会占用进程表的一个位置(slot),如果僵尸进程太多会导致系统无法创建新的进程,因为进程表的容量是有限的。所以当zombie这个指标太大时需要引起我们的注意。下面的进程详细信息中的S列就代表进程的运行状态,Z表示该进程是僵尸进程。

    消灭僵尸进程的方法:

    1.找到僵尸进程的父进程pid(pstress可以显示进程父子关系),kill -9 pid,父进程退出后init自动会清理僵尸进程。(需要注意的是kill -9并不能杀死僵尸进程)

    2.重启系统。

    %Cpu(s): 31.9 us, 30.3 sy, 0.0 ni, 37.0 id, 0.0 wa, 0.0 hi, 0.8 si, 0.0 st

    第三行的%Cpu(s)表示的是总体CPU使用情况。

    us user 表示用户态的CPU时间比例

    sy system 表示内核态的CPU时间比例

    ni nice 表示运行低优先级进程的CPU时间比例

    id idle 表示空闲CPU时间比例

    wa iowait 表示处于IO等待的CPU时间比例

    hi hard interrupt 表示处理硬中断的CPU时间比例

    si soft interrupt 表示处理软中断的CPU时间比例

    st steal 表示当前系统运行在虚拟机中的时候,被其他虚拟机占用的CPU时间比例。

    所以整体的CPU使用率=1-id。当us很高时,证明CPU时间主要消耗在用户代码,需要优化用户代码。sy很高时,说明CPU时间都消耗在内核,要么是频繁的系统调用,要么是频繁的CPU切换(进程切换/线程切换)。wa很高时,说明有进程在进程频繁的IO操作,有可能是磁盘IO,也有可能是网络IO。si很高时,说明CPU时间消耗在处理软中断,网络收发包会触发系统软中断,所以大量的网络小包会导致软中断的频繁触发,典型的SYN Floor会导致si很高。

    KiB Mem : 32781216 total, 663440 free, 7354900 used, 24762876 buff/cache

    KiB Swap: 0 total, 0 free, 0 used. 24771700 avail Mem

    第4,5行显示的是系统内存使用情况。单位是KiB。totol 表示总内存,free 表示没使用过的内容,used是已经使用的内存。buff表示用于读写磁盘缓存的内存,cache表示用于读写文件缓存的内存。avail表示可用的应用内存。

    Swap原理是把一块磁盘空间或者一个本地文件当成内存来使用。Swap total表示能用的swap总量,swap free表示剩余,used表示已经使用的。这三个值都为0表示系统关闭了swap功能,由于演示环境是一台虚拟机,虚拟机一般都关闭swap功能。

    第6行开始往后表示的是具体的每个进程状态:

    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

    PID 进程ID

    USER 进程所有者的用户名,例如root

    PR 进程调度优先级

    NI 进程nice值(优先级),越小的值代表越高的优先级

    VIRT 进程使用的虚拟内存

    RES 进程使用的物理内存(不包括共享内存)

    SHR 进程使用的共享内存

    CPU 进程使用的CPU占比

    MEM 进程使用的内存占比

    TIME 进程启动后到现在所用的全部CPU时间

    COMMAND 进程的启动命令(默认只显示二进制,top -c能够显示命令行和启动参数)

    计算原理

    在介绍top命令的各项指标计算原理之前,有必要先介绍下Linux下的proc文件系统,因为top命令的各项数据来源于proc文件系统。proc文件系统是一个虚拟的文件系统,是Linux内核和用户的一种通信方式,Linux内核会通过proc文件系统告诉用户现在内核的状态信息,用户也可以通过写proc的方式设置内核的一些行为。与普通文件不同的是,这些proc文件是动态创建的,也是动态修改的,因为内核的状态时刻都在变化。

    top显示的CPU指标都是来源于/proc/stat文件信息:

    # cat /proc/stat

    cpu 1151829380 20277 540128095 1909004524 21051740 0 10957596 0 0 0

    cpu0 143829475 3918 67658924 235696976 5168514 0 1475030 0 0 0

    cpu1 144407338 1966 67616825 236756510 3969110 0 1392212 0 0 0

    cpu2 144531920 2287 67567520 238021699 2713175 0 1363460 0 0 0

    cpu3 143288938 2366 67474485 239715220 2223739 0 1356698 0 0 0

    cpu4 143975390 3159 67394206 239494900 1948424 0 1343261 0 0 0

    cpu5 144130685 2212 67538520 239431294 1780756 0 1349882 0 0 0

    cpu6 144009592 2175 67536945 239683876 1668203 0 1340087 0 0 0

    cpu7 143656038 2193 67340668 240204045 1579816 0 1336963 0 0 0

    第一行代表的总的CPU信息,后面的是一个CPU的详细信息。

    但是这些具体的后面的列都是什么信息呢,我们可以通过man proc找到答案:

    user (1) Time spent in user mode.

    nice (2) Time spent in user mode with low priority (nice).

    system (3) Time spent in system mode.

    idle (4) Time spent in the idle task. This value should be USER_HZ times the second entry in the

    /proc/uptime pseudo-file.

    iowait (since Linux 2.5.41)

    (5) Time waiting for I/O to complete.

    irq (since Linux 2.6.0-test4)

    (6) Time servicing interrupts.

    softirq (since Linux 2.6.0-test4)

    (7) Time servicing softirqs.

    steal (since Linux 2.6.11)

    (8) Stolen time, which is the time spent in other operating systems when running in a virtual‐

    ized environment

    guest (since Linux 2.6.24)

    (9) Time spent running a virtual CPU for guest operating systems under the control of the Linux kernel.

    guest_nice (since Linux 2.6.33)

    (10) Time spent running a niced guest (virtual CPU for guest operating systems under the con‐

    trol of the Linux kernel).

    也就是说从第二列开始往后分别是user,nice,system,idle,iowait,irq(硬中断),softirq(软中断),steal,guest,guest_nice的CPU时间,单位通常是10ms。那么top里面的比例又是怎么算出的呢?

    由于CPU时间是一个累加值,所以我们要求一个时间段差值来反映当前的CPU情况,top默认是3s。例如现在取一个user值user1,和当前的一个总量的CPU时间total1

    其中total等于上面各项相加,也就是total=user+nice+system+idle+iowait+irq+softirq+steal+guest+guest_nice。3秒后再去一个user值user2和一个总量total2。

    那么这3秒钟的user平均cpu占比就等于((user2-user1)/ (total2-total1))/ 3 * 100%。另外每个具体的CPU计算方式同理。

    top内存相关的指标直接读取/proc/meminfo文件的对应字段:

    # cat /proc/meminfo

    MemTotal: 32781216 kB

    MemFree: 1043556 kB

    MemAvailable: 25108920 kB

    Buffers: 427516 kB

    Cached: 22084612 kB

    SwapCached: 0 kB

    Active: 18640888 kB

    Inactive: 10534920 kB

    Active(anon): 6664480 kB

    Inactive(anon): 412 kB

    Active(file): 11976408 kB

    Inactive(file): 10534508 kB

    Unevictable: 4 kB

    Mlocked: 4 kB

    SwapTotal: 0 kB

    SwapFree: 0 kB

    Dirty: 1092 kB

    Writeback: 0 kB

    AnonPages: 6663764 kB

    Mapped: 347808 kB

    Shmem: 1212 kB

    Slab: 2201292 kB

    SReclaimable: 1957344 kB

    SUnreclaim: 243948 kB

    KernelStack: 73392 kB

    PageTables: 57300 kB

    NFS_Unstable: 0 kB

    Bounce: 0 kB

    WritebackTmp: 0 kB

    CommitLimit: 16390608 kB

    Committed_AS: 42170784 kB

    VmallocTotal: 34359738367 kB

    VmallocUsed: 61924 kB

    VmallocChunk: 34359625048 kB

    HardwareCorrupted: 0 kB

    AnonHugePages: 364544 kB

    HugePages_Total: 0

    HugePages_Free: 0

    HugePages_Rsvd: 0

    HugePages_Surp: 0

    Hugepagesize: 2048 kB

    DirectMap4k: 376680 kB

    DirectMap2M: 26886144 kB

    DirectMap1G: 8388608 kB

    其中total对应于MemTotal,free 对应于MemFree,avail 对应于MemAailable。

    总结

    文章从top命令的输出结果开始,说明哪些指标的异常值需要我们关注,最后介绍了top命令的cpu计算原理和mem的数据来源。

    好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。

    展开全文
  • top命令主要用于分析Linux服务器当前的实时CPU和内存消耗情况,以及进程的运行情况统计。 命令使用:top ,具体top命令的使用方法和以下截图的各个信息的含义,可通过man top命令来查看。 其中比较常用的是:按1...

    top的使用方法

    top命令主要用于分析Linux服务器当前的实时CPU和内存消耗情况,以及进程的运行情况统计。

    命令使用:top ,具体top命令的使用方法和以下截图的各个信息的含义,可通过man top命令来查看。

    其中比较常用的是:按1显示各个核的统计,使用-p参数指定所要监控的进程号。

    top - 11:32:29 up 109 days, 20:46,  1 user,  load average: 0.24, 0.36, 0.44
    Tasks: 113 total,   2 running, 111 sleeping,   0 stopped,   0 zombie
    Cpu0  : 27.2%us, 16.4%sy,  0.0%ni, 46.0%id,  0.0%wa,  0.0%hi,  3.7%si,  6.7%st
    Cpu1  : 20.2%us, 12.8%sy,  0.0%ni, 55.9%id,  0.0%wa,  0.0%hi,  3.7%si,  7.4%st
    Mem:   5991036k total,  5878620k used,   112416k free,    39464k buffers
    Swap:  4194300k total,    51312k used,  4142988k free,  1663552k cached
    
      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                         
     8960 root      20   0 4437m 1.2g 5888 S 56.6 20.8  46006:20 java                                                                                             
    26114 root      20   0 4709m 2.3g 8400 S 26.4 40.0   2379:41 java                                                                                             
    15076 root      20   0 2790m 110m 2332 S  4.5  1.9   4633:09 java                                                                                             
       11 root      20   0     0    0    0 R  2.6  0.0   1041:19 events/0                                                                                         
    14970 root      20   0  154m  16m  684 S  1.9  0.3   8628:44 redis-server                                                                                     
     1454 root      20   0 32080 6292  568 S  1.0  0.1 472:03.29 zabbix_agentd                                                                                    
     1456 root      20   0 32080 6316  628 S  1.0  0.1 474:00.31 zabbix_agentd                                                                                    
        9 root      20   0     0    0    0 S  0.3  0.0  22:46.49 ksoftirqd/1                                                                                      
     1393 root      20   0  195m 1180  652 S  0.3  0.0  45:16.13 snmpd                                                                                            
    24592 root      20   0 15032 1176  888 R  0.3  0.0   0:00.04 top                                                                                              
        1 root      20   0 19356  572  352 S  0.0  0.0   0:36.70 init 

    从上到下分析:

    系统整体负载统计

    第一行:top - 11:32:29 up 109 days, 20:46, 1 user, load average: 0.24, 0.36, 0.44

    11:32:29当前服务器时间
    up 109 days服务器运行了多久
    1 user当前的登录用户数量
    load average: 0.24, 0.36, 0.44

    系统1分钟,5分钟,15分钟的负载统计,

    这个数字在单核和多核之间是存在差别的,

    如果是单核,则值在0.0~1.0之间表示正常,一般不要超过0.7,多核类似。

    如果是多核,则值在0.0~CPU核心数表示正常,如2核是0到2,4核是0到4。

    多核参照单核的标准的话,是:数值 / CPU核数,在0.00-1.00之间正常。

    当使用这个数值除以CPU核数,即:数值 / CPU核数,之后,如果大于5则表示系统负载太高。

    CPU的核心数查看:

    查看物理CPU的个数
    #cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc –l
    
    查看逻辑CPU的个数
    #cat /proc/cpuinfo |grep "processor"|wc –l
    
    查看CPU是几核
    #cat /proc/cpuinfo |grep "cores"|uniq
    
    查看CPU的主频
    #cat /proc/cpuinfo |grep MHz|uniq
    
    直接获得CPU核心数  (该命令即可全部算出多少核)
    #grep 'model name' /proc/cpuinfo | wc -l

    第二行:Tasks: 113 total,   2 running, 111 sleeping,   0 stopped,   0 zombie

    113 total当前系统一共有113个进程
    2 running2个进程正在运行
    111 sleeping111个进程在休眠
    0 stopped停止进程的个数
    0 zombie僵尸进程的个数


    CPU的各个核统计

    第三、四行:两个CPU核的统计信息

    Cpu0  : 27.2%us, 16.4%sy,  0.0%ni, 46.0%id,  0.0%wa,  0.0%hi,  3.7%si,  6.7%st

    Cpu1  : 20.2%us, 12.8%sy,  0.0%ni, 55.9%id,  0.0%wa,  0.0%hi,  3.7%si,  7.4%st

    us用户空间进程所用CPU占比
    sy系统空间进程所用CPU占比
    ni调整了进程优先级的进程所用CPU占比
    id空闲CPU占比
    wa等待输入输出的进程所用CPU占比
    hi硬中断所用CPU占比
    si软中断所用CPU占比

    内存和交换分区统计

    第五行:Mem:   5991036k total,  5878620k used,   112416k free,    39464k buffers

    total物理内存总量
    used已使用的物理内存量
    free空闲的物理内存量
    buffers

    用作内核缓存的内存量,即内核页缓存,操作系统尽可能地将

    从磁盘读出的内容或者要写到磁盘的内容通过页缓存来进行缓冲,

    在规定的时间或者当缓存到达一定量时,再刷到磁盘,减少磁盘的读写操作,提高系统性能。

    第六行:Swap:  4194300k total,    51312k used,  4142988k free,  1663552k cached

    total交换分区总大小,即分了多少磁盘用作交换分区
    used已使用的交换分区总量
    free空闲的交换分区量
    cached

    缓冲的交换分区使用量,即内存的内容可以交换到交换分区,

    然后再从交换分区加载会内存,加载回之后,交换分区对应的

    内容不删掉,而是缓冲起来,故之后内存内容再交换出来时,

    如果该内容没有修改过,则不需要再对交换分区进行写出,

    减少数据读写量。当交换分区不够时,则可以删除该缓冲的内容

    来腾出空间。

    对于当前的可用内存量 为:free + buffers + cached

    进程统计

      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                         
     8960 root      20   0 4437m 1.2g 5888 S 56.6 20.8  46006:20 java                                                                                             
    26114 root      20   0 4709m 2.3g 8400 S 26.4 40.0   2379:41 java                                                                                             
    15076 root      20   0 2790m 110m 2332 S  4.5  1.9   4633:09 java  
    PID进程ID
    USER进程的owner,即是在以该用户登录的身份时启动的。
    PR NI进程优先级,其中PR为整数,NI为负数,绝对值越大,进程优先级越高。
    VIRT

    进程的虚拟内存大小,VIRT = RES + SHR,即进程申请了多少内存,但是不一定使用了这么多,具体使用了多少物理内存

    是RES显示的。

    RES

    进程所用的实际物理内存大小,即进程实际使用了多少物理内存,包含进程自身的内存和与其他进程共享的内存,但不包括swap out的。在分析进程是否占用太多内存时,关注这个值。

    SHR进程所用的共享内存大小,如共享库,如果需要知道该进程自身独立使用的内存大小,则使用RES-SHR。当共享内存swap out到交换分区之后,则SHR的值会减小。
    S进程状态,对应的值:D = 不可中断的睡眠状态, R = 运行, S = 睡眠, T = 跟踪/停止, Z=僵尸进程
    %CPU上次更新到现在所使用的CPU的占比,即该进程在各个CPU核运行的占比相加,如果是多核,可能超过100%
    %MEM进程所用的物理内存占比,即对于系统正在被使用的物理内存中,该进程使用了多少,如系统物理内存重量为8G,当前共使用了2G,当前进程为30%,则该进程使用了0.6G。
    TIME+进程运行了多久,这个是百秒为单位,即需要乘以100来转为秒,另外一个TIME则是秒为单位。
    COMMAND进程的启动命令,如Java进程是通过java命令启动的。
    展开全文
  • top命令查看进程信息cpu占用

    万次阅读 2019-05-30 16:33:06
    通过top命令查看进程信息 通过adb shell top -h查看其使用方法 yumodeMacBook-Pro:car yumo$ adb shell top -h Usage: top [ -m max_procs ] [ -n iterations ] [ -d delay ] [ -s sort_column ] [ -t ] [ -h ] -m ...

    top

    通过top命令查看进程信息

    通过adb shell top -h查看其使用方法

    yumodeMacBook-Pro:car yumo$ adb shell top -h
    Usage: top [ -m max_procs ] [ -n iterations ] [ -d delay ] [ -s sort_column ] [ -t ] [ -h ]
        -m num  Maximum number of processes to display.
        -n num  Updates to show before exiting.
        -d num  Seconds to wait between updates.
        -s col  Column to sort by (cpu,vss,rss,thr).
        -t      Show threads instead of processes.
        -h      Display this help screen.
    

    下面是对其参数说明

    参数解释实例
    -mmax_procs最多显示多少个进程-m 1 显示1个进程
    -niterations 刷新次数-n 10 只输出10次
    -ddelay 刷新的间隔时间,单位是秒 默认是5秒-d 10 每隔10秒刷新一次
    -s输出的数据按照那一列排序-s cpu 标识按照CPU排序。
    -t显示线程信息,而不是进程。
    -h显示帮助文档。

    例子

    • 查询所有进程的信息

    比如使用下面的命令查询占cpu最高的5个进程,并且每隔10秒刷新且只刷新一次.
    adb shell top -m 5 -d 10 -n 1 -s cpu

    这是输出的结果

    yumodeMacBook-Pro:car yumo$ adb shell top -m 5 -d 10 -n 1 -s cpu
    
    User 0%, System 0%, IOW 0%, IRQ 0%
    User 75 + Nice 13 + Sys 137 + Idle -2510292 + IOW 2749 + IRQ 0 + SIRQ 1 = -2507317
    
      PID PR CPU% S  #THR     VSS     RSS PCY UID      Name
      903  0   0% S   132 2792548K 149260K  fg system   system_server
    14208  0   0% S   107 2847592K 214448K  fg u0_a40   com.yulong.android.launcher3
    21848  0   0% S   107 1725728K 102864K  fg u0_a2    com.qihoo360.mobilesafe:GuardService
    14066  0   0% S     1      0K      0K  fg root     kworker/0:0
     7922  0   0% S     5  17260K    464K  fg shell    /sbin/adbd
    
    • 指定进程名字

    adb shell top | grep <进程名字>

    top命令的输出信息的解释

    yumodeMacBook-Pro:car yumo$ adb shell top  -m 5 -n 1
    
    //总的统计
    User 37%, System 25%, IOW 0%, IRQ 0%
    User 231 + Nice 2 + Sys 157 + Idle 222 + IOW 3 + IRQ 0 + SIRQ 0 = 615
    
    //每个进程
      PID PR CPU% S  #THR     VSS     RSS PCY UID      Name
    18170  0  34% S   155 1906448K 246152K  fg u0_a369  com.icongtai.zebra.car
      310  1   8% S    31 651920K  12884K  fg system   /system/bin/surfaceflinger
    21024  1   4% S     1      0K      0K  fg root     kworker/u17:1
    22231  1   3% S     1      0K      0K  fg root     kworker/u17:2
     7922  0   1% S     5  17260K    728K  fg shell    /sbin/adbd
    

    系统的总的统计信息说明

    • User : 用户进程的使用率
    • System : 系统进程的使用率
    • Nice : 优先值为负的进程所占用的CPU时间
    • IOW : IO wait的等待时间
    • IRQ : 硬中断时间
    • SIRQ : 软中断的含义
    • Idle : 除IOW以外的系统闲置时间

    每个进程的描述说明

    • PID : 进程ID
    • USER(UID) : 进程所有者的ID
    • PR : 进程优先级
    • CPU% : CPU占用率。
    • S : 进程状态 D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
    • #THR : 程序当前所用的线程数
    • VSS : Virtual Set Size 虚拟内存
    • RSS : Resident Set Size 实际使用的物理内存
    • PCY : 线程调度策略
    • Name : 进程名字
    展开全文
  • Linux top命令输出到文件——持续输出某个进程的信息 有的时候可能需要持续输出某个进程在top命令中显示的信息,使用top命令的-b选项可以容易的将输出重定向到其他进程或者文件,配合-n选项指定top命令输出多少次就...

    Linux top命令输出到文件——持续输出某个进程的信息

    有的时候可能需要持续输出某个进程在top命令中显示的信息,使用top命令的-b选项可以容易的将输出重定向到其他进程或者文件,配合-n选项指定top命令输出多少次就终止。

    # file /tmp/1.sh
    #!/bin/bash
    echo "  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND">/tmp/1.txt
    for i in {1..10000000};do
        top -b -n 1 | grep virgl_fuzzer >>/tmp/1.txt
        sleep 5
    done
    

    正如上面的脚本,将持续输出名字为virgl_fuzzer的进程的信息,并将信息添加到/tmp/1.txt文件中。

    展开全文
  • top命令中各CPU占用率含义:

    千次阅读 2019-07-09 10:22:05
    top命令中各CPU占用率含义: 使用top命令 0.3%us用户空间占用CPU百分比 1.0%sy内核空间占用CPU百分比 0.0%ni 用户进程空间内改变过优先级的进程占用CPU百分比 98.7%id空闲CPU百分比 0.0%wa等待输入输出的...
  • Linux中的top命令查看内存和cpu信息

    万次阅读 2016-10-18 19:59:55
    比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人...
  • top命令输出详解

    千次阅读 2018-12-26 09:53:16
    top命令说明 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 [www.jb51.net@jb51 ~]$ top top - 16:07:37 up 241 days, 20:11, 1 user, load average: 0.96, 1.13, 1.25 Tasks: 231 total, 1 running, 230 sleeping, 0 stopped, 0...
  • python 调用top命令获取输出信息

    千次阅读 2016-04-26 23:13:52
    问题:如何在linux上通过python脚本获取命令行的显示结果来进行...前面已解决使用python脚本选出top命令cpu使用率最高的进程,现在解决如何获取top命令的回显信息。在linux mint上执行top命令,可以看到不断刷新的
  • top命令显示的是程序占用的cpu占用率总和,也就是说如果4核cpu那么cpu最高占用率可达400%,top里显示的是把所有使用率...查看一下CPU信息: cat /proc/cpuinfo 参考文章 linux下用top命令查看cpu利用率超过100% ...
  • linux top命令查看内存CPU使用情况

    万次阅读 多人点赞 2018-09-22 21:48:58
    查看多核CPU命令 mpstat-PALL和sar-PALL 说明:sar-PALL>aaa.txt重定向输出内容到文件aaa.txt ...top命令 经常用来监控linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但比较奇怪的...
  • Linux top 命令执行后会输出下面的CPU usage信息。 Tasks: 133 total, 1 running, 132 sleeping, 0 stopped, 0 zombie Cpu(s): 10.0%us, 2.0%sy, 0.0%ni, 88.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 参考 ...
  • linux top命令详解

    2021-01-10 00:29:25
    top 命令输出中的第一行是系统的平均负载,这和 uptime 命令的输出是一样的: 13:05:49 表示系统当前时间。 up 7 days 表示系统最后一次启动后总的运行时间。 1 user 表示当前系统中只有一个登录用户。 load ...
  • Linux中top命令参数详解

    万次阅读 多人点赞 2019-07-31 19:28:22
    top命令用法 top命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。 top的使用方式 top [-d ... -n:与-b配合使用,表示需要进行几次top命令输出结果。 -...
  • 查看多核CPU命令 要查看cpu波动情况的,尤其是多核机器上,可使用 mpstat-PALL10和sar-PALL 10 两个命令可间隔10秒钟采样一次CPU的使用情况,每个核的情况都会显示出来,例如,每个核的idle情况等。 说明:sar-...
  • linux top命令中各cpu占用率含义 0 性能监控介绍 1 确定应用类型 2 确定基准线统计 0 安装监控工具 0 CPU 介绍 1 上下文切换 2 运行队列 3 CPU 利用率 0 CPU 性能监控 1 vmstat 工具的使用 2 案例学习持续的CPU 利用...
  • Linux的top命令查看CPU运行状况

    千次阅读 2018-08-24 19:42:49
    1,输入top命令,结果如下: 2,摁下f键,可以选择显示项,左边被*标记的行,代表选中,上下键移动光标,摁下空格键选中 3,摁下q键或者esc键退出选择
  • 在linux的top命令里的cpu信息是什么意思呢? Cpu(s): 62.1% us, 15.9% sy, 0.1% ni, 19.4% id, 2.0% wa, 0.1% hi, 0.4% si Mem: 8247956k total, 8232004k used, 15952k free, 205240k buffers Swap: ...
  • ~/top可以让top在后台运行,使输出内容无视终端窗口大小限制,得到完整输出,然而我的情况并不是这样,以下是我top文件的内容:top - 22:42:57 up 2:35, 3 users, load average: 0.03, 0.09, 0.08Tasks: 419 total, 1 ...
  • top命令查看每个逻辑cpu使用率

    万次阅读 2016-10-08 22:03:27
    基本概念: 首先要分清物理cup、核数、逻辑cpu的概念,可参考文章:Linux查看物理CPU个数、核数、逻辑CPU个...如果要查看每个逻辑cpu的使用率,需要运行top命令,按下数字键1即可 效果如图: 原文出自: End;
  • 前几天接到一个需求,有一个游戏的服务器业务逻辑是使用Lua编写的,运行环境为 Ubuntu14.04,需要做一个统计分析模块,间隔一定时间,记录一次系统的CPU、内存、TCP连接数,在线玩家数,并写入数据库中。 Lua本身是...
  • 查看多核CPU命令mpstat -P ALL&nbsp; 和&...top命令经常用来监控linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图...
  • 需求:利用top命令精确监控CPU 准备知识:top使用、基本的awk、bc(默认bash shell不支持小数点运算) 脚本如下 [root@arppining scripts]# cat cpu.sh #!/bin/bash - # top -n 参数指定运行次数,1代表运行一次即...
  • 查看进程占用内存cpu信息,Linux命令—TOPhttp://www.ylmf.net/read.php?tid=1323188我们使用top命令来查看CPU使用状况。top不会产生输出,屏幕内容保持不变。它刷新屏幕以显示新信息。因此,如果您执行top并保持...
  • 今天跑了一个非常耗时的批量插入操作。。通过top命令查看cpu以及内存的使用的时候,cpu的时候查过了120%。。以前没注意。。通过在top的情况下按大键盘的1,查看的cpu的核数为4核...这里我们也可以查看一下CPU信息:...
  • 查看多核CPU命令 mpstat -P ALL 和 sar -P ALL  ...说明:sar -P ALL > aaa.txt 重定向输出内容到文件...top命令 经常用来监控linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但
  • Linux CPU 100%问题 | top 命令详解

    万次阅读 2018-07-14 14:12:03
    top 命令是 Linux 下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,常用于服务端性能分析。 top 命令说明 [tongqianzhang@shwgq-t-tomcat-188-193 ~]$ top top - 16:07:37 up 241 days, 20:...
  • CPU-MEM-monitor:一个简单的脚本,用于记录一段时间内Linux CPU和内存使用情况(使用top或pidstat命令),并输出Excel或OpenOfficeCalc友好的报告

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 65,834
精华内容 26,333
关键字:

top命令只输出cpu信息