马哥Linux学习笔记12-2/3Linux进程管理工具

  • 12-2 Linux进程查看及管理的工具:pstree,ps,pidof,pgrep,top,htop,glances,pmap,vmstat,dstat,kill,job,bg,fg,nohup

  • pstree命令:pstree - display a tree of processes
    ps:process state

  • ps - report a snapshot of the current processes
    Linux系统各进程的相关信息均保存在/proc/PID目录下的各文件中
    ps [option]…
    选项:支持两种风格
    常用组合:aux
    u 以用户为中心组织进程状态信息显示
    a 与终端相关的进程
    x 与终端无关的进程
    ps aux
    USER PID %CPU %MEN VSZ RSS TTY STAT START TIME COMMAND
    VSZ :Virtual memory Size,虚拟内存集
    RSS:ReSident Size,常驻内存集
    STAT:进程状态
    R running
    S interruptable sleeping
    D uninterruptable sleeping
    T stopped
    Z zombie

  • 前台进程
    l 多线程进程
    N 低优先级进程
    < 高优先级进程
    s session leader
    常用组合: -ef
    -e 显示所有进程
    -f 显示完整格式程序信息
    常用组合:-eFH
    -F 显示完整格式的进程信息
    -H 以进程层级格式显示进程相关信息
    常用组合:-eo, axo
    -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,comm
    axo,stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
    ni nice值
    pri priority,优先级
    psr processor,CPU
    rtprio:实时优先级

  • pgrep,pkill:
    pgrep [options] pattern
    pkill [options] pattern
    -u uid:effective user
    -U uid:real user
    -t terminal:与指定终端相关的进程
    -l 显示进程名
    -a 显示完整格式的进程名
    -p pid 显示父进程为此处指定的进程的进程列表

  • pidof 根据进程名获取其PID

  • top:有许多内置命令
    排序:p 以占据的CPU百分比
    M 占据内存百分比
    T 累积占据CPU时长
    首部信息显示:
    uptime信息:1命令
    tasks及CPU信息:t命令,CPU分别显示:1(数字)
    memory信息:m命令
    退出命令: q
    修改刷新时间间隔:s
    终止指定进程:k
    选项:
    -d # 指定刷新时间间隔,默认为3秒
    -b 以批次方式
    -n # 显示多少批次

  • htop命令:
    s 跟踪选定进程的系统调用
    l 显示选定进程打开的文件列表
    a 将选定的进程绑定至某指定CPU核心

  • 12-3

  • Linux进程查看及管理的工具(2):
    pstree,ps,pidof,pgrep,top,htop,glances,pmap,vmstat,dstat,kill,job,bg,fg,nohup

  • vmstat命令:
    vmstat [options] [delay [count]]
    1:procs:r:等待运行的进程的个数
    b:处于不可中断睡眠态的进程个数(被阻塞的队列的长度)
    2:memory:
    swpd:交换内存的使用总量
    free:空闲物理内存总量
    buffer:用于buffer的内存总量
    cache:用于cache的内存总量
    3:swap:
    si:数据进入swap中的数据速率(kb/s)
    so:数据离开swap中的数据速率(kb/s)
    4:io:
    bi:从块设备读入数据到系统的速率:(kb/s)
    bo:保存数据至块设备的速率
    5:system:
    in:interrupts,中断速率
    cs:context switch,进程切换速率
    6:cpu:us sy id wa st
    选项:-s 显示内存的统计数据

    扫描二维码关注公众号,回复: 5402112 查看本文章
  • pmap命令:report memory map of a process
    pmap [options] pid […]
    -x 显示详细格式的信息
    另一种实现:cat /proc/PID/maps

  • glances命令:
    常用选项:
    -b 以Bytes为单位显示网卡数据速率
    -d 关闭磁盘I/O模块
    -f /path/to:设定输入文件位置
    -o {HTML|CSV}:输出格式
    -m 禁用mount模块
    -n 禁用网络模块
    -t # 延迟时间间隔
    -l 每个CPU的相关数据单独显示
    C/S模式下运行glances命令:服务模式:glances -s -B IPADDR
    IPADDR:指明监听于本机哪个地址。客户端模式:glances -c IPADDR
    IPADDR:要连入的服务器端地址

  • datat命令
    -c 显示cpu相关信息
    -d 显示disk相关信息
    -g 显示page相关统计数据
    -m 显示memory相关统计数据
    -p 显示process相关统计数据
    -r 显示io请求相关的统计数据
    -s 显示swapped相关的统计数据

  • kill命令
    向进程发送控制信号,以实现对进程管理
    显示当前系统可用信号:kill -l
    man 7 signal
    常用信号:1SIGNUP:无须关闭进程而让其重读配置文件
    2DIGINT:终止正在运行的进程,相当于Ctrl+c
    9SIGKILL:杀死正在运行的进程
    15SIGTERM:终止正在运行的进程
    18SIGCONT19SIGSTOP
    指定信号的方法:1信号的数字标识:1,2,9
    2信号完整名称:SIGHUP
    3信号的简写名称:HUP
    向进程发信号:kill [-SIGNAL] Program

  • Linux的作业控制
    前台作业:通过终端启动,且启动后一直占据终端
    后台作业:可以通过终端启动,但启动后即转入后台运行(释放终端)
    如何让作业运行于后台:1运行中的作业:Ctrl+z 2尚未启动的作业 command &
    此类作业虽然被送往后台运行,但其依然与终端相关,如果希望送往后台后,剥离与终端的关系:nohup command
    查看所有作业:jobs
    作业控制:fg [[%]JOB_NUM]:把指定的后台作业调回前台
    bg [[%]JOB_NUM]:让送往后台的作业在后台继续运行
    kill [[%]JOB_NUM]:终止指定的作业

  • 进程优先级调整:
    静态优先级:100-139
    进程默认启动时的nice值为0,优先级为120
    nice命令
    renice命令
    renice [-n] priority pid…
    查看:ps axo pid,comm,ni

猜你喜欢

转载自blog.csdn.net/weixin_43024834/article/details/87949197
今日推荐