Linux工作管理与系统资源查看详解

来源:互联网 发布:淘宝店铺有几个橱窗 编辑:程序博客网 时间:2024/04/25 18:09

Part One 工作管理

  工作管理指的是在单个登录终端同时管理多个工作的行为。Linux中的工作管理,简而言之就是把工作放在后台运行的行为。在windows中,我们经常也会针对各种工作做出管理,常用的将工作放在后台的方式就是最小化某个应用程序。那么为什么要对工作进行管理呢?在windows中这很好理解,我们要对其他工作进行操作时,一般只有将当前工作界面最小化才能方便处理其他工作。同样的,在Linux中,比如我们执行cp命令复制一个很大的文件时,如果不是将其置于后台执行,就只能等到复制完成才能对其他工作进行处理。

  在具体讲工作管理之前,我们首先应注意到这样几个事项:

  1. 当前终端只能管理当前终端的工作,无法管理其他终端的工作。
  2. 放入后台的命令要能持续运行一段时间,这样才能捕捉和操作这个工作。例如,如果我们将ls命令放入后台,而我们知道ls在回车后就已经结束了,此时放入后台的意义就不存在了。
  3. 放入后台的命令不能与前台有交互或者需要前台的输入,否则其在后台只能暂停,无法运行。例如,top命令需要与前台交互,vi/vim命令是对文档进行编辑,需要用户输入,此类命令在后台处于暂停状态而不能在后台运行。

具体方法:

  (1)把进程放入后台

  • 在命令后接&符,用于把命令放入后台执行,例如find /-name a & 查找系统下名字为a的文件。
  • 执行命令后ctrl+z,将命令在后台暂停。最常见的比如top命令,执行top后,在交互命令中按ctrl+z,就将top放在后台暂停了。

 

  (2)查看后台工作

  • 命令:jobs [-l]
  • 选项 -l:用于显示工作的进程号

  

如图,用jobs命令可以查看前面暂停在后台的top命令,加上-l选项后显示其进程号。在图中,“+”号表示的是最近放入后台的工作,也是默认恢复的第一个工作,“-”号表示的是倒数第二个放入后台的工作。

 

  (3)将后台暂停的工作恢复到前台执行

  • 命令:fg %工作号
  • 参数:%工作号:工作号是jobs命令输出信息第一列的值,不是进程号,前面加上%号用于区别二者,%可省略。

         

如上图所示,执行命令fg %1后,工作号为1的后台工作将恢复到前台执行,如果不加参数,fg命令默认恢复带“+”号的工作。

 

  (4)将后台暂停的工作恢复到后台执行

  • 命令:bg %工作号

后台恢复执行的命令,是不能与前台有交互的,否则无法恢复到后台执行。

 

  (5)后台命令脱离终端执行

      当我们需要将后台命令脱离终端执行时,可以使用nohup命令,命令格式为nohup [命令]&。

 


 Part Two 系统资源查看    

   系统资源查看用于查看系统各种资源的使用情况。通过查看系统资源,可以了解系统当前资源使用情况,从而监视系统当前健康状态。

  (1)vmstat命令监控系统资源

  • 格式:vmstat [刷新延时][刷新次数]。如vmstat 1 3表示每隔1s刷新1次,共刷新三次。

              

重点关注输出信息:

  • procs:进程信息字段
    • -r:等待运行的进程数,值越大,系统越繁忙。
    • -b:不可被唤醒的进程数,值越大,系统越繁忙。
  • memory:内存信息字段
    • -swpd:虚拟内存使用情况,单位KB。
    • -free:空闲内存容量,单位KB。
    • -buff:
    • -cache:
  • swap:交换分区信息字段
    • -si:从磁盘中交换到内存中数据的大小,单位KB。
    • so:从内存中交换到磁盘中数据的大小,单位KB。数值越大,系统交换越频繁,性能越差。
  • io:磁盘读写信息字段
    • -bi:从块设备读入数据的大小,单位是快。
    • -bo:写到块设备的数据大小,单位时块。数值越大,系统IO越繁忙。
  • system:系统信息字段
    • -in:每秒被中断的进程次数。
    • -cs:每秒进行的事件切换次数。
  • cpu:
    • -us:非内核进程消耗cpu运算时间的百分比。
    • -sy:内核进程消耗cpu运算时间的百分比。
    • -id:空闲cou的百分比。
    • -wa:等待I/O所消耗的cpu百分比。
    • -st:被虚拟机所盗用的cpu占比。

 

  (2)dmesg开机时内核检测信息

  • 格式:dmesg。由于内核信息过多,常与grep结合使用,如dmesg | grep CPU查看CPU信息。

              

 

  (3)free命令查看内存使用状态

  • 格式:free[-b|-k|-m|-g]
  • 选项:
    • -b:以字节为单位显示。
    • -k:以KB为单位显示,默认。
    • -m:以MB为单位显示。
    • -g:以GB为单位显示。

             

  • 输出信息:第一行:total是内存总数,used为已使用内存,free为空闲内存,shared为多个进程共享内存,buffres是缓冲内存,cached是缓存内存。第二行:-/buffers/cache的内存数,相当于底一行的used-buffers-cached。+/buffers/cache的内存数,相当于第一行的free+buffers+cached。第三行:total是swap的总数,used是已使用的swap数,free是空闲的swap数。

 

  (4)查看CPU信息

  • 命令:cat /proc/cpuinfo

              

 

(5)uptime命令显示系统的启动时间和平均负载,即top命令的第一行,在w命令中也可以看到。

              

 

(6)查看系统与内核相关信息

  • 命令格式:uname[-a|-r|-s]
  • 选项:
    • -a:查看系统所有相关信息。
    • -r:查看内核版本。
    • -s:查看内核名称。

            

 

  (7)判断系统当前位数

  • 命令:file /bin/ls

              

通过查看ls命令判断操作系统的位数。

 

(8)查询当前Linux系统的发行版本

  • 命令:lsb_release -a

              

 

 

0 0
原创粉丝点击