linux进程管理

1.进程基本概述

1.1进程的产生

现有的(父)进程复制自己的地址空间(fork)来创建一个新的(子)进程结构。
每个新进程分配有一个唯一的进程ID(PID),满足跟踪和安全性之需。PID与父进程ID(PPID)是新进程环境的元素。
任何进程可创建子进程。所有进程都是第一个系统进程的后代。RHEL7上,第一个系统进程是systemd。
在这里插入图片描述通过fork例程,子进程继承安全性身份、过去和当前的文件描述符、端口和资源特权、环境变量,以及程序代码。随后,子进程可能exec其自己的程序代码。通常,父进程在子进程运行期间处于睡眠状态,设置一个在子进程完成时发出信号的请求(wait)。在退出时,子进程可能已经关闭或丢弃了其资源和环境,剩余的部分被称作僵停。父进程在子进程退出时收到信号而被唤醒,清理剩余结构,然后继续执行其自己的程序代码。

1.2进程的分类

  • 前台进程:与终端相关的进程,通过终端启动的进程
    • 注意:也可把在前台启动的进程送往后台,以守护模式运行
  • 守护进程:daemon,与终端无关的进程(如内核),在系统引导过程中启动的进程

2. 进程状态

在这里插入图片描述
linux进程状态

标志内核定义的状态名称和描述
RTASK_RUNNING:进程正在CPU上执行,或者正在等待运行。处于运行中(或可运行)状态时,进程可能正在执行用户例程或内核例程(系统调用),或者已排队并就绪
STASK_INTERRUPTIBLE:进程处于睡眠状态且正在等待某一条件:硬件请求、系统资源访问或信号。当事件或信号满足该条件时,该进程将返回到运行中
DTASK_UNINTERRUPTIBLE:此进程也在睡眠,但与S状态不同,不会响应传递的信号。仅在特定的条件下使用,其中进程中断可能会导致意外的设备状态
KTASK_KILLABLE:进程处于睡眠状态,与不可中断的D状态相同,但有所修改,允许等待中的任务通过响应信号而被中断(彻底退出)。实用程序通常将可中断的进程显示为D状态
TTASK_STOPPED:进程已被停止(暂停),通常是通过用户或其他进程发出的信号。进程可以通过另一信号返回到运行中状态,继续执行(恢复)
TTASK_TRACED:正在被调试的进程也会临时停止,并且共享同一个T状态标志
ZEXIT_ZOMBIE:子进程在退出时向父进程发出信号。除进程身份(PID)之外的所有资源都已释放
XEXIT_DEAD:当父进程清理(获取)剩余的子进程结构时,进程现在已彻底释放。此状态从不会在进程列出实用程序中看到
<高优先级进程
N低优先级进程
+前台进程组中的进程
|多线程进程
s会话进程首进程

3.进程优先级调整

  • 命令名称:renice 3 9981

作用:将vi优先级改为3,vi优先级变为83

实例:

[root@localhost ~]# ps -elf |grep vi
4 S root        781      1  0  80   0 - 24903 poll_s 11:00 ?        00:00:00 /usr/bin/VGAuthService -s
4 S root       9981   8835  0  80   0 - 31558 poll_s 14:56 pts/0    00:00:00 vi a
0 S root      10053   9686  0  80   0 - 28170 pipe_w 14:57 pts/1    00:00:00 grep --color=auto vi
[root@localhost ~]# renice 3 9981
9981 (进程 ID) 旧优先级为 0,新优先级为 3
[root@localhost ~]# ps -elf |grep vi
4 S root        781      1  0  80   0 - 24903 poll_s 11:00 ?        00:00:00 /usr/bin/VGAuthService -s
4 S root       9981   8835  0  83   3 - 31558 poll_s 14:56 pts/0    00:00:00 vi a
0 S root      10105   9686  0  80   0 - 28170 pipe_w 14:58 pts/1    00:00:00 grep --color=auto vi
  • 命令名称:nice -n 10 vi

作用:将vi的优先级改为10

实例:

[root@localhost ~]# nice -n 10 vi

[root@localhost ~]# ps -elf |grep vi
4 S root        781      1  0  80   0 - 24903 poll_s 11:00 ?        00:00:00 /usr/bin/VGAuthService -s
4 T root      10252   8835  0  90  10 - 31533 do_sig 15:01 pts/0    00:00:00 vi
0 S root      10299   9686  0  80   0 - 28170 pipe_w 15:02 pts/1    00:00:00 grep --color=auto vi

4.ps命令

  • 命令名称:ps a

作用:显示所有与终端有关的进程

实例:

[root@localhost ~]# ps a
   PID TTY      STAT   TIME COMMAND
  1430 tty1     Ss+    0:00 -bash
  8835 pts/0    Ss     0:00 -bash
  8878 pts/0    R+     0:00 ps a
  • 命令名称:ps u

作用:显示进程由哪个用户启动

实例:

[root@localhost ~]# ps u
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root       1430  0.0  0.1 115392  2096 tty1     Ss+  11:00   0:00 -bash
root       8835  0.1  0.1 115392  2060 pts/0    Ss   14:35   0:00 -bash
root       8881  0.0  0.0 151064  1804 pts/0    R+   14:36   0:00 ps u
  • 命令名称:ps x

作用:显示所有与终端无关的进程

实例:

[root@localhost ~]# ps x
   PID TTY      STAT   TIME COMMAND
     1 ?        Ss     0:04 /usr/lib/systemd/systemd --switched-root --system --
     2 ?        S      0:00 [kthreadd]
     3 ?        S      0:00 [ksoftirqd/0]
     5 ?        S<     0:00 [kworker/0:0H]
     7 ?        S      0:00 [migration/0]
     8 ?        S      0:00 [rcu_bh]
     9 ?        S      0:01 [rcu_sched]
    10 ?        S      0:00 [watchdog/0]
    11 ?        S      0:00 [watchdog/1]
    12 ?        S      0:00 [migration/1]
    13 ?        S      0:00 [ksoftirqd/1]
    15 ?        S<     0:00 [kworker/1:0H]
    16 ?        S      0:00 [watchdog/2]
    17 ?        S      0:00 [migration/2]
    18 ?        S      0:00 [ksoftirqd/2]
    20 ?        S<     0:00 [kworker/2:0H]
    21 ?        S      0:00 [watchdog/3]
    22 ?        S      0:00 [migration/3]
    23 ?        S      0:00 [ksoftirqd/3]
    24 ?        S      0:00 [kworker/3:0]
    25 ?        S<     0:00 [kworker/3:0H]
    27 ?        S      0:00 [kdevtmpfs]
    28 ?        S<     0:00 [netns]
    29 ?        S      0:00 [khungtaskd]
    30 ?        S<     0:00 [writeback]
    31 ?        S<     0:00 [kintegrityd]
    32 ?        S<     0:00 [bioset]
    33 ?        S<     0:00 [kblockd]
    34 ?        S<     0:00 [md]
    40 ?        S      0:00 [kswapd0]
    41 ?        SN     0:00 [ksmd]
    42 ?        SN     0:00 [khugepaged]
    43 ?        S<     0:00 [crypto]
    51 ?        S<     0:00 [kthrotld]
    53 ?        S<     0:00 [kmpath_rdacd]
    54 ?        R      0:06 [kworker/0:1]
    56 ?        S<     0:00 [kpsmoused]
    57 ?        S      0:00 [kworker/3:2]
    58 ?        S<     0:00 [ipv6_addrconf]
    78 ?        S<     0:00 [deferwq]
   110 ?        S      0:00 [kauditd]
  • 命令名称:ps aux

作用:显示所有进程并且是由哪个用户启动的

实例:

[root@localhost ~]# ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.3 129248  6596 ?        Ss   11:00   0:04 /usr/lib/syste
root          2  0.0  0.0      0     0 ?        S    11:00   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    11:00   0:00 [ksoftirqd/0]
root          5  0.0  0.0      0     0 ?        S<   11:00   0:00 [kworker/0:0H]
root          7  0.0  0.0      0     0 ?        S    11:00   0:00 [migration/0]
root          8  0.0  0.0      0     0 ?        S    11:00   0:00 [rcu_bh]
root          9  0.0  0.0      0     0 ?        S    11:00   0:01 [rcu_sched]
root         10  0.0  0.0      0     0 ?        S    11:00   0:00 [watchdog/0]
root         11  0.0  0.0      0     0 ?        S    11:00   0:00 [watchdog/1]
root         12  0.0  0.0      0     0 ?        S    11:00   0:00 [migration/1]
root         13  0.0  0.0      0     0 ?        S    11:00   0:00 [ksoftirqd/1]
root         15  0.0  0.0      0     0 ?        S<   11:00   0:00 [kworker/1:0H]
root         16  0.0  0.0      0     0 ?        S    11:00   0:00 [watchdog/2]
root         17  0.0  0.0      0     0 ?        S    11:00   0:00 [migration/2]
root         18  0.0  0.0      0     0 ?        S    11:00   0:00 [ksoftirqd/2]
root         20  0.0  0.0      0     0 ?        S<   11:00   0:00 [kworker/2:0H]
root         21  0.0  0.0      0     0 ?        S    11:00   0:00 [watchdog/3]
root         22  0.0  0.0      0     0 ?        S    11:00   0:00 [migration/3]
root         23  0.0  0.0      0     0 ?        S    11:00   0:00 [ksoftirqd/3]
USERPID%CPU%MENVSZRSSTTYSTATSTARTTIMECOMMAND
进程拥有者pidcpu使用率内存的使用率虚拟内存集常驻内存集哪个终端启动的进程状态进程的启动时间运行的累计时长执行的命令
  • 命令名称:ps -e

作用:显示所有进程

实例:

[root@localhost ~]# ps -e
   PID TTY          TIME CMD
     1 ?        00:00:04 systemd
     2 ?        00:00:00 kthreadd
     3 ?        00:00:00 ksoftirqd/0
     5 ?        00:00:00 kworker/0:0H
     7 ?        00:00:00 migration/0
     8 ?        00:00:00 rcu_bh
     9 ?        00:00:01 rcu_sched
    10 ?        00:00:00 watchdog/0
    11 ?        00:00:00 watchdog/1
    12 ?        00:00:00 migration/1
    13 ?        00:00:00 ksoftirqd/1
    15 ?        00:00:00 kworker/1:0H
    16 ?        00:00:00 watchdog/2
    17 ?        00:00:00 migration/2
    18 ?        00:00:00 ksoftirqd/2
    20 ?        00:00:00 kworker/2:0H
    21 ?        00:00:00 watchdog/3
    22 ?        00:00:00 migration/3
    23 ?        00:00:00 ksoftirqd/3
    24 ?        00:00:00 kworker/3:0
    25 ?        00:00:00 kworker/3:0H
    27 ?        00:00:00 kdevtmpfs
    28 ?        00:00:00 netns
    29 ?        00:00:00 khungtaskd
    30 ?        00:00:00 writeback
    31 ?        00:00:00 kintegrityd
    32 ?        00:00:00 bioset
    33 ?        00:00:00 kblockd
    34 ?        00:00:00 md
  • 命令名称:ps -l

作用:长格式显示

实例:

[root@localhost ~]# ps -l
F S   UID    PID   PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0   8835   8830  0  80   0 - 28848 do_wai pts/0    00:00:00 bash
0 R     0   9191   8835  0  80   0 - 37235 -      pts/0    00:00:00 ps
  • 命令名称:ps -f

作用:显示更详细的完整进程信息

实例:

[root@localhost ~]# ps -f
UID         PID   PPID  C STIME TTY          TIME CMD
root       8835   8830  0 14:35 pts/0    00:00:00 -bash
root       9215   8835  0 14:42 pts/0    00:00:00 ps -f
  • 命令名称:ps -elF

作用:长格式显示更详细的进程信息

实例:

[root@localhost ~]# ps -elF
F S UID         PID   PPID  C PRI  NI ADDR SZ WCHAN    RSS PSR STIME TTY          TIME CMD
4 S root          1      0  0  80   0 - 32312 ep_pol  6596   3 11:00 ?        00:00:05 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
1 S root          2      0  0  80   0 -     0 kthrea     0   3 11:00 ?        00:00:00 [kthreadd]
1 S root          3      2  0  80   0 -     0 smpboo     0   0 11:00 ?        00:00:00 [ksoftirqd/0]
1 S root          5      2  0  60 -20 -     0 worker     0   0 11:00 ?        00:00:00 [kworker/0:0H]
1 S root          7      2  0 -40   - -     0 smpboo     0   0 11:00 ?        00:00:00 [migration/0]
1 S root          8      2  0  80   0 -     0 rcu_gp     0   0 11:00 ?        00:00:00 [rcu_bh]
1 S root          9      2  0  80   0 -     0 rcu_gp     0   2 11:00 ?        00
  • 命令名称:ps -elH

作用:以进程层级格式显示进程相关信息

实例:

[root@localhost ~]# ps -elH
F S   UID    PID   PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
1 S     0      2      0  0  80   0 -     0 kthrea ?        00:00:00 kthreadd
1 S     0      3      2  0  80   0 -     0 smpboo ?        00:00:00   ksoftirqd/
1 S     0      5      2  0  60 -20 -     0 worker ?        00:00:00   kworker/0:
1 S     0      7      2  0 -40   - -     0 smpboo ?        00:00:00   migration/
1 S     0      8      2  0  80   0 -     0 rcu_gp ?        00:00:00   rcu_bh
1 S     0      9      2  0  80   0 -     0 rcu_gp ?        00:00:03   rcu_sched
5 S     0     10      2  0 -40   - -     0 smpboo ?        00:00:00   watchdog/0
5 S     0     11      2  0 -40   - -     0 smpboo ?        00:00:00   watchdog/1
1 S     0     12      2  0 -40   - -     0 smpboo ?        00:00:00   migration/
1 S     0     13      2  0  80   0 -     0 smpboo ?        00:00:00   ksoftirqd/
1 S     0     15      2  0  60 -20 -     0 worker ?        00:00:00   kworker/1:
5 S     0     16      2  0 -40   - -     0 smpboo ?        00:00:00   watchdog/2
1 S     0     17      2  0 -40   - -     0 smpboo ?        00:00:00   migration/
1 S     0     18      2  0  80   0 -     0 smpboo ?        00:00:00   ksoftirqd/
1 S     0     20      2  0  60 -20 -     0 worker ?        00:00:00   kworker/2:
5 S     0     21      2  0 -40   - -     0 smpboo ?        00:00:00   watchdog/3
1 S     0     22      2  0 -40   - -     0 smpboo ?        00:00:00   migration/
1 S     0     23      2  0  80   0 -     0 smpboo ?        00:00:00   ksoftirqd/
1 S     0     24      2  0  80   0 -     0 worker ?        00:00:02   kworker/3:
  • 命令名称:ps -o pid,comm,ni

作用:根据自己需要的选择要显示的字段,这里显示pid,命令和优先级

实例:

[root@localhost ~]# ps -o pid,comm,ni
   PID COMMAND          NI
  9686 bash              0
 10510 ps                0

5.pstree命令

  • 命令名称:pstree

作用:显示当前系统进程树

实例:

[root@localhost ~]# pstree
systemd─┬─NetworkManager─┬─dhclient
        │                └─2*[{NetworkManager}]
        ├─VGAuthService
        ├─anacron
        ├─auditd───{auditd}
        ├─chronyd
        ├─crond
        ├─dbus-daemon───{dbus-daemon}
        ├─firewalld───{firewalld}
        ├─irqbalance
        ├─login───bash
        ├─lvmetad
        ├─master─┬─pickup
        │        └─qmgr
        ├─polkitd───5*[{polkitd}]
        ├─rhnsd
        ├─rhsmcertd
        ├─rsyslogd───2*[{rsyslogd}]
        ├─sshd─┬─sshd───bash───vi
        │      └─sshd───bash───pstree
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-udevd
        ├─tuned───4*[{tuned}]
        └─vmtoolsd───{vmtoolsd}

6.pgrep命令

  • 命令名称:pgrep vi

作用:在当前系统中找符合某些特性的进程。只显示进程号

实例:

[root@localhost ~]# ps -elf |grep vi
4 S root        781      1  0  80   0 - 24903 poll_s 11:00 ?        00:00:00 /usr/bin/VGAuthService -s
4 T root      10252   8835  0  90  10 - 31533 do_sig 15:01 pts/0    00:00:00 vi
0 S root      10797   9686  0  80   0 - 28170 pipe_w 15:12 pts/1    00:00:00 grep --color=auto vi
[root@localhost ~]# pgrep vi
781
10252
  • 命令名称:pidof vi

作用:根据进程名查找pid号

实例:

[root@localhost ~]# ps -elf |grep vi
4 S root        781      1  0  80   0 - 24903 poll_s 11:00 ?        00:00:00 /usr/bin/VGAuthService -s
4 T root      10252   8835  0  90  10 - 31533 do_sig 15:01 pts/0    00:00:00 vi
0 R root      10940   9686  0  80   0 - 28170 -      15:15 pts/1    00:00:00 grep --color=auto vi
[root@localhost ~]# pidof vi
10252

7.vmstat命令

  • 命令名称:vmstat 2

作用:表示两秒刷新一次虚拟内存状态

实例:

[root@localhost ~]# vmstat 2
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 1432436   3004 269088    0    0     3     1   20   18  0  0 100  0  0
 1  0      0 1432452   3004 269088    0    0     0     0   67   54  0  0 100  0  0
^C

  • 命令名称:vmstat 2 3

作用:表示每2秒刷新一次,刷新3次虚拟内存状态

实例:

[root@localhost ~]# vmstat 2 3
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 1432668   3004 269088    0    0     3     1   20   18  0  0 100  0  0
 0  0      0 1432700   3004 269088    0    0     0     0   67   52  0  0 100  0  0
 0  0      0 1432684   3004 269088    0    0     0     0   61   53  0  0 100  0  0
  • 命令名称:vmstat -s

作用:显示内存的统计数据

实例:

[root@localhost ~]# vmstat -s
      1867048 K total memory
       161992 K used memory
       137500 K active memory
       116868 K inactive memory
      1432980 K free memory
         3004 K buffer memory
       269072 K swap cache
      2097148 K total swap
            0 K used swap
      2097148 K free swap
          699 non-nice user cpu ticks
           45 nice user cpu ticks
         3971 system cpu ticks
      7416655 idle cpu ticks
          209 IO-wait cpu ticks
            0 IRQ cpu ticks
           84 softirq cpu ticks
            0 stolen cpu ticks
       192045 pages paged in
        52646 pages paged out
            0 pages swapped in
            0 pages swapped out
      1479471 interrupts
      1308503 CPU context switches
   1569207617 boot time
        13895 forks
  • 命令名称:vmstat
    作用:虚拟内存状态查看命令

实例:

[root@localhost ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 1430084   3004 270892    0    0     2     0   18   16  0  0 100  0  0


procs:
    r(running)  //表示等待运行的队列长度,也即等待运行的进程的个数
    b(block)    //表示阻塞队列长度,也即处于不可中断睡眠态的进程个数
memory:
    swpd        //交换内存的使用总量
    free        //空闲物理内存总量
    buffer      //用于buffer的内存总量
    cache       //用于cache的内存总量
swap:
    si(swap in)     //表示从物理内存有多少页面换进swap,也即数据进入swap的数据速率(kb/s)
    so(swap out)    //表示从swap有多少页面换进物理内存,也即数据离开swap的数据速率(kb/s)
io:
    bi(block in)    //表示磁盘块有多少个被调入内存中,也即从块设备读入数据到系统的速率(kb/s)
    bo(block out)   //表示有多少个磁盘块从内存中被同步到硬盘上去了,也即保存数据至块设备的速率(kb/s)
system:
    in( interrupts)     //表示中断的个数,也即中断速率(kb/s)
    cs(context switch)  //表示上下文切换的次数,也即进程切换速率(kb/s)
CPU:
    us      //表示用户空间
    sy      //表示内核空间
    id      //表示空闲百分比
    wa      //表示等待IO完成所占据的时间百分比
    st      //表示steal,被虚拟化技术偷走的时间(比如运行虚拟机)

8.kill命令

  • 命令名称:kill -9 $(pidof vi)

作用:强制杀死vi进程

实例:

[root@localhost ~]# pidof vi
10252
[root@localhost ~]# kill -9 $(pidof vi)

9.在后台运行作业

  • 命令名称:sleep 1000 &

作用:在后台运行sleep 1000

实例:

[root@localhost ~]# sleep 1000 &
[1] 3134
  • 命令名称:jobs

作用:显示当前所有的后台作业

实例:

[root@localhost ~]# jobs
[1]+  运行中               sleep 1000 &
  • 命令名称:fg

作用:当后面不跟参数是默认调带加号的操作作业到前台运行

实例:

[root@localhost ~]# jobs
[1]-  运行中               sleep 1000 &
[2]+  运行中               sleep 500 &
[root@localhost ~]# fg
sleep 500

  • 命令名称:fg %1

作用:将第一个后台作用调到前台运行,按ctrl+z可将作业处于停止状态

实例:

[root@localhost ~]# jobs
[1]-  运行中               sleep 1000 &
[2]+  运行中               sleep 500 &
[root@localhost ~]# fg %1
sleep 1000
^Z
[1]+  已停止               sleep 1000

  • 命令名称:bg %1

作用:将第一个操作作业重新运行

实例:

[root@localhost ~]# jobs
[1]+  已停止               sleep 1000
[2]-  运行中               sleep 500 &
[root@localhost ~]# bg %1
[1]+ sleep 1000 &
  • 命令名称:kill %2

作用:将第二个作业杀死

实例:

[root@localhost ~]# jobs
[1]-  运行中               sleep 1000 &
[2]+  运行中               sleep 500 &
[root@localhost ~]# kill %2
[2]+  已终止               sleep 500
[root@localhost ~]# jobs
[1]+  运行中               sleep 1000 &

  • 命令名称:kill $(pidof sleep )

作用:通过命令替换符,通过sleep命令来替换到pid进行杀死

实例:

[root@localhost ~]# jobs
[1]-  运行中               sleep 500 &
[2]+  运行中               sleep 600 &
[root@localhost ~]# kill $(pidof sleep )
[1]-  已终止               sleep 500
[2]+  已终止               sleep 600
[root@localhost ~]# jobs
  • 命令名称:killall sleep和pkill sleep
    作用:杀死关于sleep命令的有关进程

实例:

[root@localhost ~]# jobs
[1]   运行中               sleep 500 &
[2]-  运行中               sleep 600 &
[3]+  运行中               sleep 700 &
[root@localhost ~]# killall sleep
[1]   已终止               sleep 500
[2]-  已终止               sleep 600
[3]+  已终止               sleep 700
[root@localhost ~]# jobs
[root@localhost ~]# sleep 500 &
[1] 4372
[root@localhost ~]# sleep 600 &
[2] 4375
[root@localhost ~]# sleep 700 &
[3] 4380
[root@localhost ~]# pkill sleep
[1]   已终止               sleep 500
[2]-  已终止               sleep 600
[3]+  已终止               sleep 700
  • 命令名称:kill 1491

作用:按进程号杀死进程

实例:

[root@localhost ~]# ps -ef|grep sleep
root       1491   1474  0 15:02 pts/0    00:00:00 sleep 100
root       1493   1474  0 15:02 pts/0    00:00:00 grep --color=auto sleep
[root@localhost ~]# kill 1491
[1]+  已终止               sleep 100
[root@localhost ~]# ps -ef|grep sleep
root       1495   1474  0 15:03 pts/0    00:00:00 grep --color=auto sleep

  • 命令名称: kill -9 1496

作用:加-9强制杀死进程

实例:

[root@localhost ~]# sleep 100 &
[1] 1496
[root@localhost ~]# ps -ef|grep sleep
root       1496   1474  0 15:03 pts/0    00:00:00 sleep 100
root       1498   1474  0 15:03 pts/0    00:00:00 grep --color=auto sleep
[root@localhost ~]# kill -9 1496
[root@localhost ~]# ps -ef|grep sleep
root       1500   1474  0 15:04 pts/0    00:00:00 grep --color=auto sleep
[1]+  已杀死               sleep 100

io 负载

  • 命令名称:cat /proc/cpuinfo |grep ‘model name’

作用:查看cpu核心数

实例:

[root@localhost ~]# cat /proc/cpuinfo |grep 'model name'
model name	: Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz
model name	: Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz
model name	: Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz
model name	: Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz

  • 命令名称:cat /proc/cpuinfo |grep ‘model name’|wc -l 和 grep ‘processor’ /proc/cpuinfo |wc -l

作用:查看内核数

实例:

[root@localhost ~]# cat /proc/cpuinfo |grep 'model name'|wc -l
4
[root@localhost ~]# grep 'processor' /proc/cpuinfo |wc -l
4

  • 命令名称:uptime

作用:显示负载平均值情况,这三个值代表最近1、5和15分钟的负载情况。
实例:

[root@localhost ~]# uptime
 15:10:05 up 9 min,  2 users,  load average: 0.00, 0.01, 0.01

实施进程监控

  • 命令名称:top

作用:用于实现全屏动态显示系统信息,会实时刷新

实例:

[root@localhost ~]# top
top - 15:14:22 up 13 min,  2 users,  load average: 0.00, 0.01, 0.01
Tasks: 175 total,   2 running, 173 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 :  1867048 total,  1522304 free,   153716 used,   191028 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  1522600 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                           
  1515 root      20   0  157724   2284   1544 R   0.3  0.1   0:00.01 top                                                                                                               
     1 root      20   0  129100   6428   2696 S   0.0  0.3   0:01.09 systemd                                                                                                           
     2 root      20   0       0      0      0 S   0.0  0.0   0:00.01 kthreadd                                                                                                          
     3 root      20   0       0      0      0 S   0.0  0.0   0:00.00 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.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:00.23 rcu_sched                                                                                                         
    10 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 watchdog/0                                                                                                        
    11 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 watchdog/1                                                                                                        
    12 root      rt   0       0      0      0 S   0.0  0.0   0:00.04 migration/1                                                                                                       
    13 root      20   0       0      0      0 S   0.0  0.0   0:00.00 ksoftirqd/1                                                                                                       
    15 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/1:0H                                                                                                      
    16 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 watchdog/2                                                                                                        
    17 root      rt   0       0      0      0 S   0.0  0.0   0:00.03 migration/2                                                                                                       
    18 root      20   0       0      0      0 S   0.0  0.0   0:00.01 ksoftirqd/2                                                                                                       
    19 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kworker/2:0                                                                                                       
    20 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/2:0H                                                                                                      
    21 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 watchdog/3                                                                                                        
    22 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 migration/3                                                                                                       
    23 root      20   0       0      0      0 S   0.0  0.0   0:00.00 ksoftirqd/3                                                                                                       
    25 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/3:0H                                                                                                      
    27 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kdevtmpfs                                                                                                         
    28 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 netns                                                                                                             
    29 root      20   0       0      0      0 S   0.0  0.0   0:00.00 khungtaskd                                                                                                        
    30 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 writeback                                                                                                         
    31 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kintegrityd                                                                                                       
    32 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 bioset                                                                                                            
    33 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kblockd                                                                                                           
    34 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 md                                                                                                                
    35 root      20   0       0      0      0 R   0.0  0.0   0:00.03 kworker/1:1                                                                                                       
    40 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kswapd0                                                                                                           
    41 root      25   5       0      0      0 S   0.0  0.0   0:00.00 ksmd                                                                                                              
    42 root      39  19       0      0      0 S   0.0  0.0   0:00.00 khugepaged                                                                                                        
    43 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 crypto                                                                                                            

  • 命令名称:top -d 20

作用:设置延迟时长20秒,每隔20秒刷新一次

实例:

[root@localhost ~]# top -d 20
top - 15:16:08 up 15 min,  2 users,  load average: 0.00, 0.01, 0.01
Tasks: 175 total,   1 running, 174 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  1.6 sy,  0.0 ni, 98.4 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1867048 total,  1522116 free,   153840 used,   191092 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  1522412 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                           
     1 root      20   0  129100   6428   2696 S   0.0  0.3   0:01.09 systemd                                                                                                           
     2 root      20   0       0      0      0 S   0.0  0.0   0:00.01 kthreadd                                                                                                          
     3 root      20   0       0      0      0 S   0.0  0.0   0:00.00 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.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:00.24 rcu_sched                                                                                                         
    10 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 watchdog/0                                                                                                        
    11 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 watchdog/1                                                                                                        
    12 root      rt   0       0      0      0 S   0.0  0.0   0:00.04 migration/1                                                                                                       
    13 root      20   0       0      0      0 S   0.0  0.0   0:00.00 ksoftirqd/1                                                                                                       
    15 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/1:0H                                                                                                      
    16 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 watchdog/2                                                                                                        
    17 root      rt   0       0      0      0 S   0.0  0.0   0:00.03 migration/2                                                                                                       
    18 root      20   0       0      0      0 S   0.0  0.0   0:00.01 ksoftirqd/2                                                                                                       
    19 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kworker/2:0                                                                                                       
    20 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/2:0H                                                                                                      
    21 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 watchdog/3                                                                                                        
    22 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 migration/3                                                                                                       
    23 root      20   0       0      0      0 S   0.0  0.0   0:00.00 ksoftirqd/3                                                                                                       
    25 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/3:0H                                                                                                      
    27 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kdevtmpfs                                                                                                         
    28 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 netns                                                                                                             
    29 root      20   0       0      0      0 S   0.0  0.0   0:00.00 khungtaskd                                                                                                        
    30 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 writeback                                                                                                         
    31 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kintegrityd                                                                                                       
    32 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 bioset                                                                                                            
    33 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kblockd                                                                                                           
    34 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 md                                                                                                                
    35 root      20   0       0      0      0 S   0.0  0.0   0:00.03 kworker/1:1                                                                                                       
    40 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kswapd0                                                                                                           
    41 root      25   5       0      0      0 S   0.0  0.0   0:00.00 ksmd                                                                                                              
    42 root      39  19       0      0      0 S   0.0  0.0   0:00.00 khugepaged                                                                                                        
    43 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 crypto                                                                                                            
    51 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kthrotld                                                                                                         

-命令名称:top b -n 1

作用:指定翻屏1次只显示一屏

实例:

[root@localhost ~]# top b -n 1
top - 15:17:25 up 16 min,  2 users,  load average: 0.00, 0.01, 0.01
Tasks: 175 total,   1 running, 174 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1867048 total,  1521900 free,   153952 used,   191196 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  1522244 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
     1 root      20   0  129100   6428   2696 S   0.0  0.3   0:01.11 systemd
     2 root      20   0       0      0      0 S   0.0  0.0   0:00.01 kthreadd
     3 root      20   0       0      0      0 S   0.0  0.0   0:00.00 ksoftirqd+
     5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0+
     7 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 migration+
     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:00.25 rcu_sched
    10 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 watchdog/0
    11 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 watchdog/1
    12 root      rt   0       0      0      0 S   0.0  0.0   0:00.04 migration+
    13 root      20   0       0      0      0 S   0.0  0.0   0:00.00 ksoftirqd+

load average:1分钟,5分钟,15分钟
    load average    //CPU队列中等待运行的任务的个数
cpu(s):多颗CPU平均负载,按1键显示每颗CPU平均负载。
    us  //表示用户空间;
    sy  //表示内核空间;
    ni  //表示调整nice值,CPU占用的比率;
    id  //表示空闲百分比;
    wa  //表示等待IO完成所占据的时间百分比;
    hi  //表示hard interrupt,硬件中断占据的时间百分比;
    si  //表示软中断占据的时间百分比;
    st  //表示steal,被虚拟化技术偷走的时间(比如运行虚拟机)
PR      //优先级
NI      //nice值
VIRT    //虚拟内存集
RES     //常驻内存集
SHR     //共享内存大小
S       //进程状态


//top命令交互式子命令:
    M   //根据驻留内存大小进行排序,默认根据CPU百分比排序
    P   //根据CPU使用百分比进行排序
    T   //根据累计时间(占据CPU时长)进行排序
    l   //是否显示平均负载和启动时间
    t   //是否显示进程和CPU状态相关信息
    m   //是否显示内存相关信息
    c   //是否显示完整的命令行信息
    q   //退出top命令
    k   //终止某个进程
    1   //显示所有CPU的信息
    s   //修改刷新时间间隔
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值