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

嵌入式技术

1367人已加入

描述


Part One 工作管理

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

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

  • 当前终端只能管理当前终端的工作,无法管理其他终端的工作。
  • 放入后台的命令要能持续运行一段时间,这样才能捕捉和操作这个工作。例如,如果我们将ls命令放入后台,而我们知道ls在回车后就已经结束了,此时放入后台的意义就不存在了。
  • 放入后台的命令不能与前台有交互或者需要前台的输入,否则其在后台只能暂停,无法运行。例如,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

                  

     



    打开APP阅读更多精彩内容
    声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
    • 相关推荐

    全部0条评论

    快来发表一下你的评论吧 !

    ×
    20
    完善资料,
    赚取积分