zoukankan      html  css  js  c++  java
  • Linux系统监视资源与进程管理

    Linux 系统中时刻运行着许多的进程,如果能够合理的管理它们,有益于系统性能的优化,

    系统进程总共有五种不同的状态:

    命令一:ps命令,用于查看系统中进程状态

    格式:ps [参数]

    查看进程与状态:ps -aux
    
    查找某个特定的进程信息:ps -aux | grep 进程名

    命令二:top命令,用于监视进程的活动与系统负载,格式为“top”

     top命令类似于“强化版的Windows任务管理器”,命令行中输入top后如下所示:

    top - 15:45:39 up  1:25,  4 users,  load average: 0.00, 0.01, 0.05
    Tasks: 485 total,   2 running, 483 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  0.3 us,  0.3 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    KiB Mem :  1867632 total,   657704 free,   607728 used,   602200 buff/cache
    KiB Swap:  2097148 total,  2097148 free,        0 used.  1011640 avail Mem
    
       PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
      1033 root      20   0  246636   6284   4824 S  0.3  0.3   0:06.33 vmtoolsd
      3627 root      20   0  378052  18724  14728 S  0.3  1.0   0:06.21 vmtoolsd
      8693 root      20   0  157960   2592   1548 R  0.3  0.1   0:00.05 top
         1 root      20   0  125820   6644   3944 S  0.0  0.4   0:05.67 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.16 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:00.00 rcuob/0
        10 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/1
        11 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/2
        12 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/3
        13 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/4
        14 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/5
        15 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/6
        16 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/7
        17 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/8
        18 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/9
        19 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/10
        20 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/11
        21 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/12

    前五行为系统整体的统计信息,具体如下:

    命令三:pidof命令:用于查询某个特定程序的进程PID,格式为pidof [参数] [程序名称]

    查询“sshd”进程的pid值:“pidof sshd”

    [root@localhost ~]# pidof sshd
    8302 8191 7085

    命令四:kill命令,用于中止某个特定PID号码的进程,格式为kill [参数] [进程PID号]

    强制中止PID为8302的进程(参数-9代表强制终止):

    [root@localhost ~]# kill -9 8302

    命令五:killall命令,用于终止某个特定名称的所有进程,格式为killall [参数] [进程名称]

    终止名称为“sshd”的进程:

    [root@localhost ~]# killall sshd

    命令6:Ctrl+c、Ctrl+z、jobs、bg、fg命令

    在终端中运行了一个命令后如果想立刻停止它,可以使用组合键ctrl+c,这样命令的进程将会彻底的

    被终止。而ctrl+z是将命令的进程暂停(也叫挂载到后台或扔到后台)。

    实例1:通过putty等工具连接远程linux主机,连接两个终端,分别为终端1和终端2,执行以下命令,

    命令达到的效果为每秒向家目录的jobs.txt中追加一个字符串working

    如下图所示:输入ctrl + z 后,终端2的命令的进程被暂停,终端1中的内容也不再追加

    此时,使用jobs命令查看所有在后台运行着的进程:

    [root@localhost ~]# jobs
    [1]   已停止               ( while true; do
        echo -n "working" >> ~/jobs.txt; sleep 1;
    done )
    [2]-  已停止               ( while true; do
        echo -n "working" >> ~/jobs.txt; sleep 1;
    done )
    [3]+  已停止               ( while true; do
        echo -n "working" >> ~/jobs.txt; sleep 1;
    done )

    在终端2中运行“bg 1” 命令,让后台的程序继续执行,此时终端1中的内容继续增加

    在终端2中使用fg 1命令,将后台的进程调回到前台,程序依然执行,然后此时终端1中的内容又继续增加中

    有些命令在执行时会不断的在终端中输出信息,影响到我们继续输入命令了,此时

    便可以在这条命令的后面添加一个“&”符号,那么从一开始执行该命令就是在后台运行

    (注意:不是在后台暂停,而是在后台运行),这个实验可以只用到一个终端,在终端中加入&后

    可以继续使用tail -f jobs.txt进行查看,而且jobs.txt中的内容也确实一直在增加中...

  • 相关阅读:
    丁丁又病了
    领导之所以是领导
    丁丁的进步
    最近比较烦
    批量更新数据表
    转帖:《EnterLib PIAB深入剖析》系列博文汇总
    XML DOM介绍
    转大白话系列之C#委托与事件讲解大结局
    using
    jQuery工作原理解析以及源代码示例
  • 原文地址:https://www.cnblogs.com/tdcqma/p/5865073.html
Copyright © 2011-2022 走看看