码迷,mamicode.com
首页 > 系统相关 > 详细

linux进程管理工具一

时间:2015-09-12 16:19:49      阅读:368      评论:0      收藏:0      [点我收藏+]

标签:进程   ps   vmstat   htop   dstat   

    内核最强大功能之一就是进程管理,对于system administrator来说,这部分熟练度对于系统调优起着决定性作用。现在我们一起来了解一下linux的进程管理工具吧,在介绍工具之前,有些基本概念要澄清:

task struct:Linux内核存储进程信息的固定格式
多个任务的的task struct组件的链表:task list

MMU:Memory Management Unit  实现线性地址和物理地址的转换(根据task structure)
虚拟内存集:可以被换出到swap的地址空间

(1)进程优先级:0-139:数字越小,优先级越高;   

    1-99:实时优先级;
    100-139:静态优先级;折些优先级可以通过修改nice值调整

    Nice值:-20,19对应静态优先级的100-139

(2)进程类型:
    守护进程: 在系统引导过程中启动的进程,跟终端无关的进程;
    前台进程:跟终端相关,通过终端启动的进程
    注意:也可把在前台启动的进程送往后台,以守护模式运行;

(3)进程状态:
    运行态:running
    就绪态:ready
    睡眠态:

        可中断睡眠状态:interruptable----一般是本轮进程使用内核时间到期时发生
        不可中断睡眠状态:uninterruptable----当发生缺页异常时,会产生不可中断睡眠
    停止态:暂停于内存中,但不会被调度,除非手动启动之;stopped
    僵死态:zombie:子进程已经终止,父进程在清理子进程尸体之前


进程间通信的几种机制:

IPC: Inter Process Communication
同一主机上:
    signal 发送信号
    shm: shared memory共享内存
    semerphor 旗标
不同主机上:
    rpc: remote procecure call远程过程调用
    socket: 套接字


了解完基本概念,我们来介绍进程管理工具

1.ps命令:对当前系统进程状态做一个快照静态输出到显示器上

    常用组合:aux
        u: 以用户为中心组织进程状态信息显示
        a: 与终端相关的进程;
        x: 与终端无关的进程;
~]# ps aux
USER        PID %CPU %MEM    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,l
    -e: 显示所有进程,相当于ax一块使用
    -f: 显示完整格式程序信息

技术分享

常用组合:-eFH
    -F: 显示完整格式的进程信息
    -H: 以进程层级格式显示进程相关信息

(下面第二行以后都缩进了,说明都是第一行的子进程,这就是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: 实时优先级


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

3.pidof:
        根据进程名获取其PID;


4. top:动态查看当前系统进程状态,有许多内置命令:

技术分享  

信息说明:

第一行:当前时间,上次启动到此刻时长,当前登录的用户,平均负载(等待运行的任务队列长度,刚刚过去的平均1分钟,5分钟,15分钟的队列长度),不想显示敲l


第二行Task任务数量以及任务状态,cpu负载长度

第三行进程占据CPU相关信息,敲1 可以显示多个cpu核心状态,敲t可以变换格式

us用户空间程序占据的百分比,sy内核空间占据的百分比,更改nice值占据的半分比,id空闲的,wa等待io完成所占据的时间,hi表示硬件中断占据的时间,si软中断(模式切换),st被虚拟化技术偷走的时间,


第四行和第五行显示内存相关信息:这里内存,交换空间,buffercache都显示的是物理内存的

排序指令:
    P:以占据的CPU百分比;
    M:占据内存百分比;
    T:累积占据CPU时长;
首部信息显示:
    uptime信息:l命令
    tasks及cpu信息:t命令
    cpu分别显示:1 (数字)
    memory信息:m命令

    退出命令:q
    修改刷新时间间隔:s
    终止指定进程:k
选项:
    -d #: 指定刷新时间间隔,默认为3秒;
    -b: 以批次方式;
    -n #: 显示多少批次;


5.htop:top的加强版,功能很强大
    选项:
    -d #: 指定延迟时间;
    -u UserName: 仅显示指定用户的进程;
    -s COLOMN: 以指定字段进行排序;
    命令:
    s: 跟踪选定进程的系统调用;
    l: 显示选定进程打开的文件列表;
    a:将选定的进程绑定至某指定CPU核心;
    t: 显示进程树

技术分享

F1键可以显示帮助:

技术分享

F2键可以调整显示设置:

技术分享

F3键可以搜索,F4键可以过滤

技术分享

F5键可以以进程树格式显示

F7和F8调整nice值

F9杀死进程

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

技术分享


本文出自 “明天过后” 博客,请务必保留此出处http://leeyan.blog.51cto.com/8379003/1694051

linux进程管理工具一

标签:进程   ps   vmstat   htop   dstat   

原文地址:http://leeyan.blog.51cto.com/8379003/1694051

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!