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