Linux基础之进程及作业管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux基础之进程及作业管理相关的知识,希望对你有一定的参考价值。

Linux进程及作业管理(2)


 CentOS 6: http://172.16.0.1/fedora-epel/

 CentOS 7: http://172.16.0.1/fedora-epel/

 

 进程管理类命令:

 

  htop命令:

   选项:

    -d #:指定延迟时间间隔;

    -u UserName:仅显示指定用户的进程;

    -s COLUME:以指定字段进行排序;

   子命令:

    l:显示选定的进程打开的文件列表;

    s:跟踪选定的进程的系统调用;

    t:以层级关系显示各进程状态;

    a:将选定的进程绑定至某指定的CPU核心;

    

  vmstat命令:

   - Report virtual memory statistics

   

   vmstat  [options]  [delay [count]]

    procs:

     r:等待运行的进程的个数;CPU上等待运行的任务的队列长度;

     b:处于不可中断睡眠态的进程个数;被阻塞的任务队列的长度;

    memory:

     swpd:交换内存使用总量;

     free:空闲的物理内存总量;

     buffer:用于buffer的内存总量;

     cache:用于cache的内存总量;

    swap

     si:数据进入swap中的数据速率(kb/s)

     so:数据离开swap的速率(kb/s)

    io

     bi:从块设备读入数据到系统的速度(kb/s)

     bo:保存数据至块设备的速率(kb/s)

    system

     in:interrupts,中断速率;

     cs:context switch, 上下文 切换的速率;

    cpu 

     us: user space

     sy:system

     id:idle

     wa:wait 

     st: stolen

  

   选项:

    -s:显示内存统计数据;

    

  pmap命令:

   - report memory map of a process

   

   pmap [options] pid [...]

    -x:显示详细格式的信息;

    

   另一种查看方式:cat  /proc/PID/maps

   

  glances命令:

   - A cross-platform curses-based monitoring tool

   

   内建命令:

    

   常用选项:

    -b:以Byte为单位显示网上数据速率;

    -d:关闭磁盘I/O模块;

    -m:关闭mount模块;

    -n:关闭network模块;

    -t #:刷新时间间隔;

    -1:每个cpu的相关数据单独显示;

    -o {html|CSV}:输出格式;

    -f  /PATH/TO/SOMEDIR:设定输出文件的位置;

   

   C/S模式下运行glances命令:

    服务模式:

     glances  -s  -B  IPADDR

     

     IPADDR:本机的某地址,用于监听;

     

    客户端模式:

     glances  -c  IPADDR

     

     IPADDR:是远程服务器的地址;

     

  dstat命令:

   - versatile tool for generating system resource statistics

   

   dstat [-afv] [options..] [delay [count]]

   

   常用选项:

    -c, --cpu:显示cpu相关信息;

     -C #,#,...,total

    -d, --disk:显示磁盘的相关信息

     -D sda,sdb,...,tobal

    -g:显示page相关的速率数据;

    -m:Memory的相关统计数据

    -n:Interface的相关统计数据;

    -p:显示process的相关统计数据;

    -r:显示io请求的相关的统计数据;

    -s:显示swapped的相关统计数据;

    

    --tcp 

    --udp

    --raw 

    --socket 

    

    --ipc 

    

    --top-cpu:显示最占用CPU的进程;

    --top-io:最占用io的进程;

    --top-mem:最占用内存的进程;

    --top-lantency:延迟最大的进程;

    

  kill命令:

   

   - terminate a process

   

   用于向进程发送信号,以实现对进程的管理;

   

   显示当前系统可用信号:

    kill -l [signal]

    

    每个信号的标识方法有三种:

     1) 信号的数字标识;

     2) 信号的完整名称;

     3) 信号的简写名称;

     

   向进程发信号:

    kill  [-s signal|-SIGNAL]  pid...

    

    常用信号:

     1) SIGHUP:无须关闭进程而让其重读配置文件;

     2)SIGINT:终止正在运行的进程,相当于Ctrl+c

     9)SIGKILL:杀死运行中的进程;

     15)SIGTERM:终止运行中的进程;

     18)SIGCONT:

     19)SIGSTOP:

     

  killall命令:

   

   - kill processes by name

   

   killall  [-SIGNAL]  program

   

 Linux系统作业控制:

  

  job:

   前台作业(foregroud):通过终端启动,且启动后会一直占据终端;

   后台作业(backgroud):可以通过终端启动,但启动后即转入后台运行(释放终端);

   

  如何让作业运行于后台?

   (1) 运行中的作业

    Ctrl+z

    注意:送往后台后,作业会转为停止态;

   (2) 尚未启动的作业

    # COMMAND &

    

    注意:此类作业虽然被送往后台,但其依然与终端相关;如果希望把送往后台的作业剥离与终端的关系:

     # nohup  COMMAND  &

     

  查看所有的作业:

   # jobs

   

  可实现作业控制的常用命令:

   # fg  [[%]JOB_NUM]:把指定的作业调回前台;

   # bg  [[%]JOB_NUM]:让送往后台的作业在后台继续运行;

   # kill  %JOB_NUM:终止指定的作业;

   

 调整进程优先级:

  

  可通过nice值调整的优先级范围:100-139

   分别对应于:-20, 19

   

  进程启动时,其nice值默认为0,其优先级是120;

  

  nice命令:

   以指定的nice值启动并运行命令

    # nice  [OPTION]  [COMMAND [ARGU]...]

     选项:

      -n NICE

      

    注意:仅管理员可调低nice值; 

    

  renice命令:

   # renice  [-n]  NICE  PID...

   

  查看Nice值和优先级:

   ps  axo  pid, ni, priority, comm  

   

 未涉及到的命令:sar,  tsar,  iostat,  iftop,  nethog,  ...

 

 博客作业: htop/dstat/top/ps命令的使用;


以上是关于Linux基础之进程及作业管理的主要内容,如果未能解决你的问题,请参考以下文章

2016-10-5 linux基础学习——进程及作业管理

Linux的进程及作业管理知识(上)

Linux之进程管理作业管理

Linux 进程及作业管理

Linux进程及作业管理

Linux自学笔记——linux进程及作业管理