进程管理

进程与程序(process&program):

  程序就是程序员写的一堆代码文件,通常一个程序是以一个文件夹的形式呈现给你的,里面包含了很多文件,但是启动的时候只有一个文件。执行一个程序,一个程序的运行过程我们称之为一个进程,或者说进程是一个正在运行的程序。

一个程序执行涉及到很多环节:

  加载----->代码文件从硬盘加载到内存,加载到内存可能还涉及一些数据要从硬盘中拿到;

  运行----->操作系统拿着硬件来运行,运行它的一整个过程我们就称之为进程。进程本质就是操作系统拿着硬件来运行程序,所以说进程是操作系统最核心的部分。

  操作系统可以同时运行很多个进程,这叫做并发,怎么实现并发---->多道技术。而并行则是指多个进程在同一时刻同时进行,不同于并发的是,并行更加强调时间的同步性。操作系统通过合理调度和管理这些进程,使得计算机资源得到高效利用,用户可以同时进行多种任务,大大提高了计算机的实用性和效率。在多道技术中,操作系统会为每个进程分配时间和资源,通过快速切换进程,使得每个进程都得到执行的机会。这种机制不仅使得计算机能够处理更多的任务,还能够在一定程度上模拟同时处理多个任务的效果,从而提升了整体的处理能力和响应速度。

 

  CPU时间片:单独以一个CPU为例,CPU可能工作了一天时间,这期间它处理了多个任务和请求。每一个时间片,CPU都会执行某个特定程序的指令,然后迅速切换到下一个程序。这种快速切换使得多个程序看起来像是同时在运行,尽管实际上它们是在轮流使用CPU的资源。提高计算机系统的整体效率和利用率,使得不同的进程能够在各自需要的时间内得到CPU的处理时间,从而保证了各种应用程序的流畅运行。

 

一个进程在其生命周期中通常会经历三种主要状态,这三种状态分别是:

1. **运行态(Running State**

    - 这种状态代表该进程已经被操作系统分配了CPU资源,正在处理器上执行其指令。当一个进程被调度程序选中并获得CPU时间片后,它便进入运行状态。在这种情况下,进程会积极使用计算资源来完成任务。然而,当进程遇到需要等待I/O操作完成的情况,如访问本地磁盘数据或进行网络通信,它就会从运行态转变为阻塞态。

2. **就绪态(Ready State**

    - 进程在完成I/O操作或其他等待事件后,会进入就绪态。这意味着进程已经做好了重新运行的准备,但尚未被CPU调度执行。在就绪态下,进程等待操作系统重新分配CPU资源。一旦调度程序再次选中这个进程,它将返回到运行态继续执行。

3. **阻塞态(Blocked State**

    - 当进程需要执行I/O操作或等待某个事件发生时(如等待用户输入、等待网络数据包到达等),它会进入阻塞态。在阻塞态中,进程暂时停止执行,不会占用CPU资源,直到所等待的事件完成。阻塞态是一种被动等待状态,进程在此状态下不执行任何计算任务,仅等待外部条件的满足。当I/O操作完成或等待的事件发生后,进程将自动从阻塞态转变为就绪态,准备再次运行。

 

同步与异步:
  同步和异步指的是任务的启动方式/调用方式/提交任务的方式。
同步:
  多个任务是同步执行的指的是启动一个任务运行完毕之后,才能启动下一个任务并且运行。
异步:
  多个任务是异步执行的指的是提交完一个任务之后,不用在原地等待该任务运行完毕,就能立即提交下一个任务运行。


并发/并行 串行:指的是任务给人展现出的运行的效果。
  并发/并行:指的是多个任务同时运行的,只是并行是真的,而并发是看起来像同时运行的。
  串行:指的是一个任务运行完毕才能运行下一个。

阻塞和非阻塞:指的是任务在操作系统中的运行状态。
  会引起阻塞的事项:
    1、硬盘io
    2、网络io
    3、sleep命令
    4、read命令---->接收用户输入

同步执行的任务长时间运行不一定是阻塞了,有可能是在做计算,给人展现出的运行效果像串行。
异步提交完任务之后给人展现出来的效果像是同时运行。

 

一、进程的结构是什么?
  对整个操作系统来说是一个树形结构,Linux系统启动的时候首先会启动一个0号进程,这是所有进程的老祖宗。
    0号进程会产生两个进程:
      1号进程是所有用户态进程的祖宗
      2号进程是所有内核态进程的祖宗。

 

二、进程的状态
  进程的状态分为两大类:活着的和死了的状态
    活着的:
      正在运行着的进程:---->R状态
        运行状态---->手里拿着CPU正在运行呢
        就绪状态---->正在等待分配CPU,一旦分配到就可以立即投入运行
        阻塞了的进程:---->S或D
        S:可中断的睡眠
        可以Ctrl+c,kill -9 pid号命令来终止
        D:不可中断睡眠(因为存储设备太忙了相应不过来)
        不可以被终止(是Linux系统为了防止数据丢失的一种保护机制)。

    死了的:
      僵尸进程:---->Z状态
      僵尸进程是操作系统的一种优化机制
        一个子进程死掉之后会把其占用的CPU、内存资源都释放掉,但是会保留该进程的状态信息,例如pid号、存在过的一些运行信息,这些预留的信息是用来给父进程准备的。
        每个进程死掉之前都会进入僵尸进程状态。僵尸进程通常由父进程来回收。
      退出的进程:----X状态---->几乎看不到

进程的状态

在操作系统中,进程是程序执行的一个实例,它有着自己的生命周期,会经历不同的状态。进程的状态主要可以分为两大类:活着的和死了的状态。

活着的状态进一步细分为以下几种:

正在运行的进程处于 R(Running)状态。这种状态下,进程手里拿着CPU正在执行任务。它是操作系统当前时刻关注的重点,因为它们是真正进行计算的实体。

就绪状态的进程等待着被分配CPU资源。一旦CPU空闲并且分配给它,该进程就可以立即投入运行。这种状态确保了系统资源的高效利用,因为CPU永远不会长时间空闲。

阻塞状态(Suspend)或(Dormant)的进程是由于等待某些事件的发生而暂时停止执行。例如,一个进程可能需要等待用户输入、文件读写操作的完成或者网络数据的到达。在阻塞状态下,进程不会消耗CPU资源。这里的阻塞状态又可以细分为两种类型:

S:可中断的睡眠(Suspendible)。在这种状态下,进程可以通过接收信号如Ctrl+c,或者通过kill -9 pid号命令来被终止。这种机制允许系统在必要时干预进程的执行。

D:不可中断睡眠(Dormant)。这种状态通常是因为进程在等待存储设备或其他硬件的响应。由于硬件操作可能比较耗时,所以操作系统在这种情况下不允许进程被中断,以确保数据操作的完整性和系统稳定性。这是一种保护机制,防止因进程终止而导致的数据丢失。

死了的状态主要指的是僵尸进程(Zombie)。僵尸进程是已经结束执行但是其父进程还没有对其进行善后处理的进程。虽然它们不再执行任何任务,但是仍然会保留一些资源,比如进程描述符。直到它们的父进程通过wait()或者waitpid()系统调用来回收这些资源之前,它们会一直以僵尸状态存在。

通过了解这些进程状态,我们可以更好地理解操作系统如何管理和调度进程,从而提高系统的整体性能和稳定性。
View Code


  补充:
    +:前台运行的进程
    s: 代表这是个会话进程(比如NGINX-->接收访问者的网络请求)是所有产生的进程中的老大,老大接收所有用户的请求,但自己不处理让小弟去干活。
    l:代表当前进程是多线程模式。
    <:低优先级的进程
    T:暂停

 

  一个进程涉及的东西非常多,要开辟内存空间放好一堆数据,并且后续进程运行过程产生的数据也要放到自己开辟的内存空间里面去,所以进程本身会涉及到资源的概念,同时进程是要运行的它内部肯定有一堆代码要运行的,所以进程里必然后要执行的代码,针对代码的运行过程我们单拎出来叫做线程。
  所以说线程指的就是进程中的代码的运行过程。
  所以说有了线程的概念之后,带来的好处是啥?就是能够表达的更加清晰了,如果我们但从运行的角度来讲从一个进程切到另一个进程,这就不要说进程了,我们应该从线程的角度来切,cpu真正运行的可不单单是数据,人家cpu运行的是代码。所以线程是从进程的基础上衍生出来一种更加细致的表达方式。

 

ps aux查看进程用户、pid、占用CPU百分比、占用内存百分比、状态、执行的命令等。

[root@localhost ~]# ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.7  0.6 128012  6616 ?        Ss   11:12   0:00 /usr/lib/systemd/systemd --switched-root 
root          2  0.0  0.0      0     0 ?        S    11:12   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    11:12   0:00 [kworker/0:0]
root          4  0.0  0.0      0     0 ?        S<   11:12   0:00 [kworker/0:0H]
root          5  0.0  0.0      0     0 ?        S    11:12   0:00 [kworker/u256:0]
root          6  0.0  0.0      0     0 ?        S    11:12   0:00 [ksoftirqd/0]
root          7  0.0  0.0      0     0 ?        S    11:12   0:00 [migration/0]
root          8  0.0  0.0      0     0 ?        S    11:12   0:00 [rcu_bh]
root          9  0.1  0.0      0     0 ?        R    11:12   0:00 [rcu_sched]
root         10  0.0  0.0      0     0 ?        S<   11:12   0:00 [lru-add-drain]
root         11  0.0  0.0      0     0 ?        S    11:12   0:00 [watchdog/0]
root         13  0.0  0.0      0     0 ?        S    11:12   0:00 [kdevtmpfs]
root         14  0.0  0.0      0     0 ?        S<   11:12   0:00 [netns]
root         15  0.0  0.0      0     0 ?        S    11:12   0:00 [khungtaskd]
root         16  0.0  0.0      0     0 ?        S<   11:12   0:00 [writeback]
root         17  0.0  0.0      0     0 ?        S<   11:12   0:00 [kintegrityd]
root         18  0.0  0.0      0     0 ?        S<   11:12   0:00 [bioset]
root         19  0.0  0.0      0     0 ?        S<   11:12   0:00 [bioset]
root         20  0.0  0.0      0     0 ?        S<   11:12   0:00 [bioset]
root         21  0.0  0.0      0     0 ?        S<   11:12   0:00 [kblockd]
root         22  0.0  0.0      0     0 ?        S<   11:12   0:00 [md]
root         23  0.0  0.0      0     0 ?        S<   11:12   0:00 [edac-poller]
root         24  0.0  0.0      0     0 ?        S<   11:12   0:00 [watchdogd]
root         25  0.0  0.0      0     0 ?        S    11:12   0:00 [kworker/0:1]
root         30  0.0  0.0      0     0 ?        S    11:12   0:00 [kswapd0]
root         31  0.0  0.0      0     0 ?        SN   11:12   0:00 [ksmd]
root         32  0.0  0.0      0     0 ?        SN   11:12   0:00 [khugepaged]
root         33  0.0  0.0      0     0 ?        S<   11:12   0:00 [crypto]
root         41  0.0  0.0      0     0 ?        S<   11:12   0:00 [kthrotld]
root         42  0.0  0.0      0     0 ?        S    11:12   0:00 [kworker/u256:1]
root         43  0.0  0.0      0     0 ?        S<   11:12   0:00 [kmpath_rdacd]
root         44  0.0  0.0      0     0 ?        S<   11:12   0:00 [kaluad]
root         45  0.0  0.0      0     0 ?        S<   11:12   0:00 [kpsmoused]
root         46  0.0  0.0      0     0 ?        S    11:12   0:00 [kworker/0:2]
root         47  0.0  0.0      0     0 ?        S<   11:12   0:00 [ipv6_addrconf]
root         60  0.0  0.0      0     0 ?        S<   11:12   0:00 [deferwq]
root         96  0.0  0.0      0     0 ?        S    11:12   0:00 [kauditd]
root        221  0.2  0.0      0     0 ?        R    11:12   0:00 [kworker/0:3]
root        232  0.0  0.0      0     0 ?        S<   11:12   0:00 [mpt_poll_0]
root        233  0.0  0.0      0     0 ?        S<   11:12   0:00 [mpt/0]
root        236  0.0  0.0      0     0 ?        S<   11:12   0:00 [ata_sff]
root        239  0.0  0.0      0     0 ?        S<   11:12   0:00 [nfit]
root        246  0.0  0.0      0     0 ?        S    11:12   0:00 [scsi_eh_0]
root        247  0.0  0.0      0     0 ?        S<   11:12   0:00 [scsi_tmf_0]
root        248  0.0  0.0      0     0 ?        S    11:12   0:00 [scsi_eh_1]
root        250  0.0  0.0      0     0 ?        S<   11:12   0:00 [scsi_tmf_1]
root        252  0.0  0.0      0     0 ?        S    11:12   0:00 [scsi_eh_2]
root        253  0.0  0.0      0     0 ?        S<   11:12   0:00 [scsi_tmf_2]
root        255  0.0  0.0      0     0 ?        S    11:12   0:00 [kworker/u256:2]
root        256  0.0  0.0      0     0 ?        S    11:12   0:00 [irq/16-vmwgfx]
root        257  0.0  0.0      0     0 ?        S<   11:12   0:00 [ttm_swap]
root        258  0.0  0.0      0     0 ?        S    11:12   0:00 [kworker/u256:3]
root        277  0.0  0.0      0     0 ?        S<   11:12   0:00 [bioset]
root        278  0.0  0.0      0     0 ?        S<   11:12   0:00 [xfsalloc]
root        279  0.0  0.0      0     0 ?        S<   11:12   0:00 [xfs_mru_cache]
root        280  0.0  0.0      0     0 ?        S<   11:12   0:00 [xfs-buf/sda3]
root        281  0.0  0.0      0     0 ?        S<   11:12   0:00 [xfs-data/sda3]
root        282  0.0  0.0      0     0 ?        S<   11:12   0:00 [xfs-conv/sda3]
root        283  0.0  0.0      0     0 ?        S<   11:12   0:00 [xfs-cil/sda3]
root        284  0.0  0.0      0     0 ?        S<   11:12   0:00 [xfs-reclaim/sda]
root        285  0.0  0.0      0     0 ?        S<   11:12   0:00 [xfs-log/sda3]
root        286  0.0  0.0      0     0 ?        S<   11:12   0:00 [xfs-eofblocks/s]
root        287  0.0  0.0      0     0 ?        R    11:12   0:00 [xfsaild/sda3]
root        288  0.0  0.0      0     0 ?        S<   11:12   0:00 [kworker/0:1H]
root        366  0.0  0.2  37088  2784 ?        Ss   11:12   0:00 /usr/lib/systemd/systemd-journald
root        393  0.0  0.4 119176  4056 ?        Ss   11:12   0:00 /usr/sbin/lvmetad -f
root        401  0.0  0.5  48896  5364 ?        Ss   11:12   0:00 /usr/lib/systemd/systemd-udevd
root        468  0.0  0.0      0     0 ?        S<   11:12   0:00 [xfs-buf/sda1]
root        470  0.0  0.0      0     0 ?        S<   11:12   0:00 [xfs-data/sda1]
root        472  0.0  0.0      0     0 ?        S<   11:12   0:00 [xfs-conv/sda1]
root        474  0.0  0.0      0     0 ?        S<   11:12   0:00 [xfs-cil/sda1]
root        475  0.0  0.0      0     0 ?        S<   11:12   0:00 [xfs-reclaim/sda]
root        476  0.0  0.0      0     0 ?        S<   11:12   0:00 [xfs-log/sda1]
root        477  0.0  0.0      0     0 ?        S<   11:12   0:00 [xfs-eofblocks/s]
root        479  0.0  0.0      0     0 ?        S    11:12   0:00 [xfsaild/sda1]
root        508  0.0  0.0  55532   860 ?        S<sl 11:12   0:00 /sbin/auditd
root        532  0.0  0.5 168304  5164 ?        Ss   11:12   0:00 /usr/bin/VGAuthService -s
root        533  0.1  0.4 273160  4848 ?        Ssl  11:12   0:00 /usr/bin/vmtoolsd
dbus        534  0.0  0.2  66452  2584 ?        Ssl  11:12   0:00 /usr/bin/dbus-daemon --system --address=s
chrony      537  0.0  0.1 117808  1740 ?        S    11:12   0:00 /usr/sbin/chronyd
polkitd     544  0.0  1.5 613004 15012 ?        Ssl  11:12   0:00 /usr/lib/polkit-1/polkitd --no-debug
root        547  0.0  0.1  26484  1784 ?        Ss   11:12   0:00 /usr/lib/systemd/systemd-logind
root        558  0.1  0.1 126388  1668 ?        Ss   11:12   0:00 /usr/sbin/crond -n
root        560  0.0  0.2  96572  2460 ?        Ss   11:12   0:00 login -- root
root        588  0.3  2.9 359012 29744 ?        Ssl  11:12   0:00 /usr/bin/python2 -Es /usr/sbin/firewalld 
root        608  0.1  0.9 700156  9228 ?        Ssl  11:12   0:00 /usr/sbin/NetworkManager --no-daemon
root        866  0.1  1.7 574284 17460 ?        Ssl  11:12   0:00 /usr/bin/python2 -Es /usr/sbin/tuned -l -
root        867  0.0  0.4 112900  4300 ?        Ss   11:12   0:00 /usr/sbin/sshd -D
root        868  0.0  0.4 214432  3996 ?        Ssl  11:12   0:00 /usr/sbin/rsyslogd -n
root       1022  0.0  0.2  89708  2104 ?        Ss   11:12   0:00 /usr/libexec/postfix/master -w
postfix    1027  0.0  0.4  89812  4076 ?        S    11:12   0:00 pickup -l -t unix -u
postfix    1028  0.0  0.4  89880  4092 ?        S    11:12   0:00 qmgr -l -t unix -u
root       1123  0.0  0.2 115540  2100 tty1     Ss+  11:13   0:00 -bash
root       1153  0.0  0.5 102904  5496 ?        S    11:13   0:00 /sbin/dhclient -d -q -sf /usr/libexec/nm-
root       1223  0.8  0.5 158904  5596 ?        Ss   11:14   0:00 sshd: root@pts/0
root       1227  0.0  0.2 115544  1992 pts/0    Ss   11:14   0:00 -bash
root       1244  0.0  0.1 155448  1860 pts/0    R+   11:14   0:00 ps aux
ps aux

a 代表的是一个终端所有的进程

u 展示用户名用户身份

[root@localhost ~]# ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.7  0.6 128012  6616 ?        Ss   11:12   0:00 /usr/lib/systemd/systemd --switched-root 
root          2  0.0  0.0      0     0 ?        S    11:12   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    11:12   0:00 [kworker/0:0]
root          4  0.0  0.0      0     0 ?        S<   11:12   0:00 [kworker/0:0H]
root          5  0.0  0.0      0     0 ?        S    11:12   0:00 [kworker/u256:0]
root          6  0.0  0.0      0     0 ?        S    11:12   0:00 [ksoftirqd/0]
root          7  0.0  0.0      0     0 ?        S    11:12   0:00 [migration/0]
root          8  0.0  0.0      0     0 ?        S    11:12   0:00 [rcu_bh]
root       1227  0.0  0.2 115544  1992 pts/0    Ss   11:14   0:00 -bash
root       1244  0.0  0.1 155448  1860 pts/0    R+   11:14   0:00 ps aux

在Linux操作系统中,当我们使用诸如top或ps之类的命令来监控系统进程时,会看到一系列与进程相关的信息。以下是这些信息的详细解释:

  USER:这一列显示的是进程所属的用户账号。每个进程在系统中都以特定的用户身份运行,这有助于系统对资源访问进行控制和审计。

  PID:即进程ID,是操作系统分配给每个进程的唯一标识符。通过这个ID,可以对进程进行管理和控制,例如杀死或暂停进程。

  %CPU:表示该进程使用掉的CPU资源百分比。这个数值反映了进程对CPU资源的占用情况,高百分比可能意味着进程在密集计算或存在性能问题。

  %MEM:指该进程所占用的物理内存百分比。物理内存是系统直接可用的内存资源,高百分比的占用可能导致系统其他进程性能下降或出现内存不足的情况。

  VSZ:该进程使用掉的虚拟内存量,以KB为单位。虚拟内存是操作系统为进程提供的比实际物理内存大得多的地址空间,用于存储进程的数据和代码。

  RSS:该进程占用的固定的内存量(常驻集合大小),也是以KB为单位。这部分内存是进程实际驻留在物理内存中的部分。

  TTY:显示该进程是在哪个终端上面运行的。如果与终端无关,则显示为问号(?)。此外,tty1到tty6通常代表本机上的登录终端,而pts/0等则表示通过远程网络连接进入主机的终端进程。

  STAT:该列显示进程目前的状态。常见的状态包括运行(R)、休眠(S)、停止(T)和僵尸(Z)等,这些状态字母提供了进程当前行为的快速概览。

  START:显示该进程被触发启动的时间。这有助于了解进程是何时开始的,从而可以分析系统的启动顺序和进程的生命周期。

  TIME:表示该进程实际使用CPU运行的时间。这不同于进程的启动时间,它仅仅统计进程在CPU上执行的时间,不包括等待I/O等非CPU活动时间。

  COMMAND:显示该进程的实际命令是什么。这通常是启动进程的命令行,包括命令名和可能的参数,对于识别进程的功能和目的非常有帮助。

通过这些详细信息,系统管理员和用户可以全面地监控和分析系统上运行的进程,从而优化系统性能、排查问题和保障系统的稳定运行。

 

  查看进程树

  先安装

[root@localhost ~]# yum install psmisc -y
[root@localhost ~]# pstree
systemd─┬─NetworkManager─┬─dhclient
        │                └─2*[{NetworkManager}]
        ├─VGAuthService
        ├─auditd───{auditd}
        ├─chronyd
        ├─crond
        ├─dbus-daemon───{dbus-daemon}
        ├─firewalld───{firewalld}
        ├─login───bash
        ├─lvmetad
        ├─master─┬─pickup
        │        └─qmgr
        ├─polkitd───6*[{polkitd}]
        ├─rsyslogd───2*[{rsyslogd}]
        ├─sshd───sshd───bash───pstree
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-udevd
        ├─tuned───4*[{tuned}]
        └─vmtoolsd───2*[{vmtoolsd}]
pstree

也可以指定进程的ID号查看。

 

  查看当前进程的父进程:

[root@localhost ~]# ps -elf |head -5
F S UID         PID   PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
4 S root          1      0  0  80   0 - 32003 ep_pol 11:12 ?        00:00:00 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
1 S root          2      0  0  80   0 -     0 kthrea 11:12 ?        00:00:00 [kthreadd]
1 S root          4      2  0  60 -20 -     0 worker 11:12 ?        00:00:00 [kworker/0:0H]
1 S root          5      2  0  80   0 -     0 worker 11:12 ?        00:00:00 [kworker/u256:0]

 

top命令动态查看进程的变化

top查看的特点是实时刷新,默认的时间单位是3秒刷新一次。

**第一行(top...):系统概览信息**
  这一行显示的信息对于快速评估系统状态至关重要:

  - **当前时间**:显示服务器或终端当前的日期和时间,便于记录问题发生的时间点。
  - **开机时间**:指示系统自启动后运行的总时长,若发现系统频繁重启,该值会较短,有助于排查稳定性问题。
  - **登录用户数**:反映当前有多少用户通过SSH、本地终端等方式连接到系统,高并发场景下需关注资源分配。
  - **平均负载(1/5/15分钟)**:这是top的核心指标之一,代表系统在最近1分钟、5分钟、15分钟内的平均进程数。例如,若系统为4核CPU,负载值持续高于4(每个核心对应1个进程),则说明系统处于过载状态,可能导致响应延迟。需特别注意负载趋势的变化,如短期飙升可能由突发任务引起。

 

**第二行(Tasks...):进程状态统计**
  该行以数字形式呈现系统进程的总体状态分布:

  - **总进程数(total)**:显示当前系统中所有进程的数量。
  - **运行态(running)**:正在执行或等待CPU调度的进程数,若该值持续接近总核心数,说明CPU资源紧张。
  - **休眠态(sleeping)**:等待事件(如I/O完成)的进程,通常占大多数,属正常现象。
  - **停止态(stopped)**:被暂停的进程,常见于调试或系统管理操作。
  - **僵尸态(zombie)**:需重点警惕!僵尸进程是已结束但父进程未回收的子进程,若数量过多(如超过数十个),可能暗示程序存在缺陷或父进程异常,需通过查找父进程(如使用`ps -ef | grep <PID>`)进行排查。

**第三行(%CPU...):CPU资源使用详情**
  此行以百分比形式展示CPU的各类负载,需结合数值和上下文分析:

  - **us(用户空间)**:用户进程消耗的CPU时间,高值可能由计算密集型应用引起。
  - **sy(系统空间)**:内核态任务(如系统调用)占用的CPU,若持续高于20%,可能因频繁的系统操作导致。
  - **ni(优先级调整)**:低优先级(nice值)进程使用的CPU,通常用于后台任务。
  - **id(空闲)**:CPU空闲时间,理想状态下应较高,但若系统负载低但空闲值异常低,可能因其他问题导致。
  - **wa(I/O等待)**:关键指标!高wa值(如超过30%)表明进程在等待磁盘或网络I/O,可能由磁盘读写慢、网络延迟或资源争用导致,需进一步检查`iostat`或`vmstat`的输出。
  - **hi/si(硬/软中断)**:处理硬件或软件中断的CPU时间,异常升高可能由设备驱动或网络流量问题引起。
  - **多核监控**:在多核系统按【1】键可显示每个核心的负载,帮助定位负载不均衡的情况。

**第四行与第五行:内存与虚拟内存(Mem/Swap)**
  内存管理直接影响系统性能,需关注以下指标:

  - **物理内存(Mem)**:分为总内存、已用、空闲、缓冲/缓存。例如,若“空闲+缓冲/缓存”持续低于总内存的10%,说明内存压力较大。
  - **虚拟内存(Swap)**:swap使用需谨慎对待。少量使用(如<1GB)属正常,但若swap频繁读写(可通过`swapon -s`查看swap分区状态),可能因内存不足导致性能下降。此时需考虑增加内存或优化程序内存占用。
  - **内存泄漏排查**:若“已用内存”持续增长但进程列表无明显异常,可能由内存泄漏的应用导致,可使用`valgrind`或系统工具进一步分析。

**第六行:交互命令提示区**
  该区域用于输入top的交互命令,如:

  - **k**:终止指定进程(需输入PID)。
  - **r**:调整进程优先级(nice值)。
  - **M/P/T**:按内存、CPU、时间排序,快速定位资源消耗大户。
  - **f**:自定义显示字段,如隐藏不关心的列。
  - **q**:退出top。

  **下半部分:进程列表详解**
    进程列表展示了每个进程的资源占用,重点字段补充说明:

    - **PID**:进程ID,是管理和调试的关键标识。
    - **USER**:进程所属用户,帮助识别权限或资源分配问题。
    - **PR(优先级)**:数值越小优先级越高,实时任务可能设为0-99。
    - **NI(nice值)**:可手动调整(-20至19),降低前台任务的nice值可让后台任务更快执行。
    - **%CPU/MEM**:直观显示资源消耗,但需注意瞬时值与平均值差异。
    - **TIME+(累计CPU时间)**:进程自启动后使用的总CPU时间,高值可能由长期运行的服务或死循环导致。
    - **COMMAND**:进程启动命令,结合路径和参数可定位具体程序。

**进阶使用技巧与性能调优**

1. **排查高负载原因**:若top显示整体负载高,可结合以下步骤定位:
- 按【P】查看CPU消耗最高的进程。
- 进入该进程对应的线程(如`top -Hp <PID>`),找出具体线程问题。
- 使用`strace`或`perf`分析系统调用或性能热点。
2. **内存优化**:若swap频繁使用,可尝试:
- 优化程序内存管理,减少内存分配。
- 调整内核参数(如`vm.swappiness`)降低swap倾向。
3. **僵尸进程处理**:找到僵尸进程的父PID,尝试重启父进程或修复程序逻辑。
4. **实时监控特定进程**:使用`top -p <PID>`仅显示目标进程,配合延迟参数(如`top -d 5 -p 1234`每5秒刷新)。

**注意事项**

- top默认每3秒刷新一次,高刷新频率可能影响性能,可手动调整(如`top -d 10`)。
- 在容器化环境(如Docker)中,需确认top显示的资源是否受容器限制。
- 对比不同时间段的top输出(如保存日志后分析),可捕捉间歇性性能问题。

**总结**
top命令是系统管理员和开发者的核心工具,通过其动态视图,用户不仅能实时监控CPU、内存、I/O负载,还能结合进程状态和资源消耗快速定位故障。掌握其细节指标和交互命令,可大幅提升系统排障和性能优化的效率。

 

  load average 平均负载(负载指的是几个活跃的活要干)指的是在一段时间内,出入R状态的进程数+不可中断D睡眠的进程数。

    平均负载是用来衡量系统的繁忙程度。

  CPU的利用率反应的是CPU的使用情况。

"top"命令查看的特点是能够实时刷新系统信息,默认的时间单位是每3秒刷新一次,使得用户可以即时获取系统的最新状态。load average(平均负载),常常被称为系统负载,是衡量系统繁忙程度的重要指标。它指的是在一段时间内,处于可运行状态(R状态)的进程数量和不可中断睡眠状态(D状态)的进程数量之和。简而言之,负载反映了系统中等待CPU处理的活跃任务数量。

平均负载并不直接等同于CPU利用率,但它提供了一个关于系统整体繁忙程度的概览。CPU的利用率则更具体地反映了CPU在某一时刻的使用情况,包括执行用户进程、系统进程以及空闲时间的比例。CPU利用率的高低直接影响着系统的响应速度和整体性能。

通过"top"命令,用户不仅可以监控load average和CPU利用率,还可以查看其他重要的系统信息,如内存使用情况、进程列表等。这些数据帮助系统管理员和用户及时识别性能瓶颈,优化系统配置,确保系统的稳定运行。
View Code

 

top命令:

  -d :后面可以接秒数,就是整个进程界面更新的秒数。

  -p :指定某些个PID就只查看某些个的进程的详细信息。

top -d 2 -p 3342

  -u 指定进程名

将top的信息执行2次,然后将结果输出到top.txt。

top -b -n 2 > top.txt   -b:以批量的方式执行top,还有更多额选项可以使用,通常会搭配数据流定向来讲批量的结果输出位文件。-n与-b搭配,意义是,需要执行几次top的输出结果。

这样就将top的信息存到top.txt文件中了。

[root@localhost ~]# top -b -n 2 > top.txt 
[root@localhost ~]# cat top.txt
top - 16:11:18 up  4:58,  2 users,  load average: 0.00, 0.01, 0.05
Tasks:  94 total,   1 running,  93 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  6.2 sy,  0.0 ni, 93.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :   995672 total,   517892 free,   203024 used,   274756 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.   639640 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
  1779 root      20   0  161968   2084   1532 R  6.2  0.2   0:00.02 top
     1 root      20   0  128012   6616   4160 S  0.0  0.7   0:00.99 systemd
     2 root      20   0       0      0      0 S  0.0  0.0   0:00.01 kthreadd
     4 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H
     5 root      20   0       0      0      0 S  0.0  0.0   0:00.24 kworker/u256:0
     6 root      20   0       0      0      0 S  0.0  0.0   0:00.42 ksoftirqd/0
     7 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0
     8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh
     9 root      20   0       0      0      0 S  0.0  0.0   0:01.44 rcu_sched
    10 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 lru-add-drain
    11 root      rt   0       0      0      0 S  0.0  0.0   0:00.14 watchdog/0
    13 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kdevtmpfs
    14 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 netns
    15 root      20   0       0      0      0 S  0.0  0.0   0:00.00 khungtaskd
    16 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 writeback
    17 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kintegrityd
    18 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset
    19 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset
    20 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset
    21 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kblockd
    22 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 md
    23 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 edac-poller
    24 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 watchdogd
    30 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kswapd0
    31 root      25   5       0      0      0 S  0.0  0.0   0:00.00 ksmd
    32 root      39  19       0      0      0 S  0.0  0.0   0:00.57 khugepaged
    33 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 crypto
    41 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kthrotld
    42 root      20   0       0      0      0 S  0.0  0.0   0:00.46 kworker/u256:1
    43 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kmpath_rdacd
    44 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kaluad
    45 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kpsmoused
    47 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 ipv6_addrconf
    60 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 deferwq
    96 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kauditd
   232 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 mpt_poll_0
   233 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 mpt/0
   236 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 ata_sff
   239 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 nfit
   246 root      20   0       0      0      0 S  0.0  0.0   0:00.00 scsi_eh_0
   247 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 scsi_tmf_0
   248 root      20   0       0      0      0 S  0.0  0.0   0:00.01 scsi_eh_1
   250 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 scsi_tmf_1
   252 root      20   0       0      0      0 S  0.0  0.0   0:00.00 scsi_eh_2
   253 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 scsi_tmf_2
   256 root     -51   0       0      0      0 S  0.0  0.0   0:00.20 irq/16-vmwgfx
   257 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 ttm_swap
   277 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset
   278 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfsalloc
   279 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs_mru_cache
   280 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs-buf/sda3
   281 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs-data/sda3
   282 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs-conv/sda3
   283 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs-cil/sda3
   284 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs-reclaim/sda
   285 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs-log/sda3
   286 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs-eofblocks/s
   287 root      20   0       0      0      0 S  0.0  0.0   0:07.32 xfsaild/sda3
   288 root       0 -20       0      0      0 S  0.0  0.0   0:00.08 kworker/0:1H
   366 root      20   0   37088   2964   2644 S  0.0  0.3   0:00.14 systemd-journal
   393 root      20   0  119176   4056   2580 S  0.0  0.4   0:00.00 lvmetad
   401 root      20   0   48896   5364   2876 S  0.0  0.5   0:00.09 systemd-udevd
   468 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs-buf/sda1
   470 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs-data/sda1
   472 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs-conv/sda1
   474 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs-cil/sda1
   475 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs-reclaim/sda
   476 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs-log/sda1
   477 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs-eofblocks/s
   479 root      20   0       0      0      0 S  0.0  0.0   0:00.00 xfsaild/sda1
   508 root      16  -4   55532    860    456 S  0.0  0.1   0:00.02 auditd
   532 root      20   0  168304   5164   3736 S  0.0  0.5   0:00.01 VGAuthService
   533 root      20   0  273160   4856   3740 S  0.0  0.5   0:23.30 vmtoolsd
   534 dbus      20   0   66452   2584   1888 S  0.0  0.3   0:00.10 dbus-daemon
   537 chrony    20   0  117808   1860   1400 S  0.0  0.2   0:00.13 chronyd
   544 polkitd   20   0  613004  15012   4924 S  0.0  1.5   0:00.06 polkitd
   547 root      20   0   26444   1788   1468 S  0.0  0.2   0:00.06 systemd-logind
   558 root      20   0  126388   1676   1044 S  0.0  0.2   0:00.21 crond
   560 root      20   0   96572   2460   1808 S  0.0  0.2   0:00.09 login
   588 root      20   0  359012  29744   7216 S  0.0  3.0   0:00.40 firewalld
   608 root      20   0  700252  11300   7092 S  0.0  1.1   0:00.87 NetworkManager
   866 root      20   0  574284  17460   6156 S  0.0  1.8   0:02.89 tuned
   867 root      20   0  112900   4300   3272 S  0.0  0.4   0:00.02 sshd
   868 root      20   0  214432   4100   3220 S  0.0  0.4   0:01.42 rsyslogd
  1022 root      20   0   89708   2196   1164 S  0.0  0.2   0:00.09 master
  1028 postfix   20   0   89880   4092   3092 S  0.0  0.4   0:00.03 qmgr
  1123 root      20   0  115540   2100   1672 S  0.0  0.2   0:00.01 bash
  1153 root      20   0  102904   5500   3440 S  0.0  0.6   0:00.04 dhclient
  1291 root      20   0       0      0      0 S  0.0  0.0   0:08.80 kworker/0:3
  1622 root      20   0  158904   5592   4248 S  0.0  0.6   0:00.14 sshd
  1626 root      20   0  115544   1992   1588 S  0.0  0.2   0:00.00 bash
  1653 postfix   20   0   89812   4072   3076 S  0.0  0.4   0:00.01 pickup
  1775 root      20   0       0      0      0 S  0.0  0.0   0:00.02 kworker/0:2
  1778 root      20   0       0      0      0 S  0.0  0.0   0:00.05 kworker/0:0

top - 16:11:21 up  4:58,  2 users,  load average: 0.00, 0.01, 0.05
Tasks:  94 total,   1 running,  93 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.0 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :   995672 total,   517892 free,   203016 used,   274764 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.   639640 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
   533 root      20   0  273160   4856   3740 S  0.3  0.5   0:23.31 vmtoolsd
  1778 root      20   0       0      0      0 S  0.3  0.0   0:00.06 kworker/0:0
     1 root      20   0  128012   6616   4160 S  0.0  0.7   0:00.99 systemd
     2 root      20   0       0      0      0 S  0.0  0.0   0:00.01 kthreadd
     4 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H
     5 root      20   0       0      0      0 S  0.0  0.0   0:00.24 kworker/u256:0
     6 root      20   0       0      0      0 S  0.0  0.0   0:00.42 ksoftirqd/0
     7 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0
     8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh
     9 root      20   0       0      0      0 S  0.0  0.0   0:01.44 rcu_sched
    10 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 lru-add-drain
    11 root      rt   0       0      0      0 S  0.0  0.0   0:00.14 watchdog/0
    13 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kdevtmpfs
    14 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 netns
    15 root      20   0       0      0      0 S  0.0  0.0   0:00.00 khungtaskd
    16 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 writeback
    17 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kintegrityd
    18 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset
    19 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset
    20 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset
    21 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kblockd
    22 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 md
    23 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 edac-poller
    24 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 watchdogd
    30 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kswapd0
    31 root      25   5       0      0      0 S  0.0  0.0   0:00.00 ksmd
    32 root      39  19       0      0      0 S  0.0  0.0   0:00.57 khugepaged
    33 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 crypto
    41 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kthrotld
    42 root      20   0       0      0      0 S  0.0  0.0   0:00.46 kworker/u256:1
    43 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kmpath_rdacd
    44 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kaluad
    45 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kpsmoused
    47 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 ipv6_addrconf
    60 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 deferwq
    96 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kauditd
   232 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 mpt_poll_0
   233 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 mpt/0
   236 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 ata_sff
   239 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 nfit
   246 root      20   0       0      0      0 S  0.0  0.0   0:00.00 scsi_eh_0
   247 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 scsi_tmf_0
   248 root      20   0       0      0      0 S  0.0  0.0   0:00.01 scsi_eh_1
   250 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 scsi_tmf_1
   252 root      20   0       0      0      0 S  0.0  0.0   0:00.00 scsi_eh_2
   253 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 scsi_tmf_2
   256 root     -51   0       0      0      0 S  0.0  0.0   0:00.20 irq/16-vmwgfx
   257 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 ttm_swap
   277 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset
   278 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfsalloc
   279 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs_mru_cache
   280 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs-buf/sda3
   281 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs-data/sda3
   282 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs-conv/sda3
   283 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs-cil/sda3
   284 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs-reclaim/sda
   285 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs-log/sda3
   286 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs-eofblocks/s
   287 root      20   0       0      0      0 S  0.0  0.0   0:07.32 xfsaild/sda3
   288 root       0 -20       0      0      0 S  0.0  0.0   0:00.08 kworker/0:1H
   366 root      20   0   37088   2964   2644 S  0.0  0.3   0:00.14 systemd-journal
   393 root      20   0  119176   4056   2580 S  0.0  0.4   0:00.00 lvmetad
   401 root      20   0   48896   5364   2876 S  0.0  0.5   0:00.09 systemd-udevd
   468 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs-buf/sda1
   470 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs-data/sda1
   472 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs-conv/sda1
   474 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs-cil/sda1
   475 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs-reclaim/sda
   476 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs-log/sda1
   477 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 xfs-eofblocks/s
   479 root      20   0       0      0      0 S  0.0  0.0   0:00.00 xfsaild/sda1
   508 root      16  -4   55532    860    456 S  0.0  0.1   0:00.02 auditd
   532 root      20   0  168304   5164   3736 S  0.0  0.5   0:00.01 VGAuthService
   534 dbus      20   0   66452   2584   1888 S  0.0  0.3   0:00.10 dbus-daemon
   537 chrony    20   0  117808   1860   1400 S  0.0  0.2   0:00.13 chronyd
   544 polkitd   20   0  613004  15012   4924 S  0.0  1.5   0:00.06 polkitd
   547 root      20   0   26444   1788   1468 S  0.0  0.2   0:00.06 systemd-logind
   558 root      20   0  126388   1676   1044 S  0.0  0.2   0:00.21 crond
   560 root      20   0   96572   2460   1808 S  0.0  0.2   0:00.09 login
   588 root      20   0  359012  29744   7216 S  0.0  3.0   0:00.40 firewalld
   608 root      20   0  700252  11300   7092 S  0.0  1.1   0:00.87 NetworkManager
   866 root      20   0  574284  17460   6156 S  0.0  1.8   0:02.89 tuned
   867 root      20   0  112900   4300   3272 S  0.0  0.4   0:00.02 sshd
   868 root      20   0  214432   4100   3220 S  0.0  0.4   0:01.42 rsyslogd
  1022 root      20   0   89708   2196   1164 S  0.0  0.2   0:00.09 master
  1028 postfix   20   0   89880   4092   3092 S  0.0  0.4   0:00.03 qmgr
  1123 root      20   0  115540   2100   1672 S  0.0  0.2   0:00.01 bash
  1153 root      20   0  102904   5500   3440 S  0.0  0.6   0:00.04 dhclient
  1291 root      20   0       0      0      0 S  0.0  0.0   0:08.80 kworker/0:3
  1622 root      20   0  158904   5592   4248 S  0.0  0.6   0:00.14 sshd
  1626 root      20   0  115544   1992   1588 S  0.0  0.2   0:00.00 bash
  1653 postfix   20   0   89812   4072   3076 S  0.0  0.4   0:00.01 pickup
  1775 root      20   0       0      0      0 S  0.0  0.0   0:00.02 kworker/0:2
  1779 root      20   0  161972   2128   1552 R  0.0  0.2   0:00.02 top
top -b -n 2 > top.txt

 在top执行过程中还可以使用按键命令:

  q:退出查看top

  s:设置刷新时间

  1:把多核展开

  

 

posted @ 2025-05-24 20:56  张仁国  阅读(49)  评论(0)    收藏  举报
目录代码