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

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

本文作者:佚名

来源:51CTO

时间: 2024-11-01 18:00:09

Linux中工作管理与系统资源查看详解的相关文章

linux中crontab命令启动/重启/停止详解

linux 系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的.另 外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 :crontab 命令. 一.crond简介 crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动crond进程,cron

linux中samba的部署及应用详解

samba: 启动服务:nmb.server:smb.server 会通过文件系统的方式输出给客户端 smb:Service Message Block:服务信息块 cifs:Common Internet File System,通用互联网文件系统 samba:Andrew Tridgell:热情奔放的桑巴舞,主要的协议 cifs,协议 1.功能: 文件系统共享: NetBIOS协议: 打印服务: 2.工作模型 peer to peer(Work Group):工作组模型 domain dev

linux中Axel多线程下载工具参数详解

Axel安装 Debian/Ubuntu/Linux Mint用户  代码如下 复制代码 sudo apt-get install axel Redhat/Fedora 用户可用下面命令安装:  代码如下 复制代码 yum install axel 同样,大家可以源码编译安装:  代码如下 复制代码 cd ~/Download wget http://alioth.debian.org/frs/download.php/3015/axel-2.4.tar.gz tar zxvf axel-2.4

linux中pip安装步骤与使用详解

1.pip下载安装 1.1 pip下载  代码如下 复制代码 # wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb" --no-check-certificate 1.2 pip安装  代码如下 复制代码 # tar -xzvf pip-1.5.4.tar.gz # cd pip-1.5.4 # python setup.py

Linux中编译安装MemcacheQ的步骤详解

队列(Queue)是一种常用的数据结构.在队列这种数据结构中,最先插入的元素将会最先被取出:反之最后插入的元素将会最后被取出,因此队列又称为"先进先出"(FIFO:First In First Out)的线性表. 加入元素的一端叫"队尾",取出元素的一端叫"队头".利用消息队列可以很好地异步处理数据的传送和存储,当遇到频繁且密集地向后端数据库中插入数据时,就可采用消息队列来异步处理这些数据写入. MemcacheQ是一款基于Memcache协议的

Linux中的Configure选项配置参数详解

  Linux环境下的软件安装,并不是一件容易的事情;如果通过源代码编译后在安装,当然事情就更为复杂一些;现在安装各种软件的教程都非常普遍;但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而解了.Configure脚本配置工具就是基础之一,它是autoconf的工具的基本应用. 与一些技巧相比,Configure显得基础一些,当然使用和学习起来就显得枯燥乏味一些,当然要成为高手,对基础的熟悉不能超越哦. 为此我转载了一篇关于Configure选项配置的详细介绍.供大家参考 'con

Linux中fork,vfork和clone详解(区别与联系)

fork,vfork,clone Unix标准的复制进程的系统调用时fork(即分叉),但是Linux,BSD等操作系统并不止实现这一个,确切的说linux实现了三个,fork,vfork,clone(确切说vfork创造出来的是轻量级进程,也叫线程,是共享资源的进程) 系统调用 描述 fork fork创造的子进程是父进程的完整副本,复制了父亲进程的资源,包括内存的内容task_struct内容 vfork vfork创建的子进程与父进程共享数据段,而且由vfork()创建的子进程将先于父进程

linux中512M VPS内存优化步骤详解

512M的VPS优化apache内存 查看目前占用内存 Ps aux|grep httpd 基本一个占用50M左右 ps aux|grep httpd | wc –l 一共13个,减去grep httpd 那行 12个,说明占用大约600M 超过了服务器512M内存, (相比之下nginx主进程占用50M,带着php-fpm跑,一个fpm占用2M,开启10个fpm进程,一共70M的内存就足够了.) 标准Linux Apache配置在Apache的配置文件在/etc/httpd/conf/http

linux中sosreport工具安装使用方法详解

sosreport是一个类型于supportconfig 的工具,sosreport是python编写的一个工具,适用于centos(和redhat一样,包名为sos).ubuntu(其下包名为sosreport)等大多数版本的linux .sosreport在github上的托管页面为:https://github.com/sosreport/sos ,而且默认在很多系统的源里都已经集成有.如果使用的是正版redhat,在出现系统问题,寻求官方支持时,官方一般也会通过sosreport将收集的