Linux进程管理工具top/htop/glances/dstat的使用

来源:互联网 发布:免费发送短信软件 编辑:程序博客网 时间:2024/05/21 15:38

进程概念:

        用户下达运行程序的命令后,就会产生进程。同一程序可产生多个进程(一对多关系),以允许同时有多位用户运行同一程序,却不会相冲突。进程需要一些资源才能完成工作,如CPU使用时间、内存、文件以及I/O设备,且为依序逐一进行,也就是每个CPU核心任何时间内仅能运行一项进程。


进程状态:

运行态:running

就绪态:ready

睡眠态:

        可中断:interruptable

        不可中断:uninterruptable

停止态:暂停于内存中,但不会被调度,除非手动启动之;stopped

僵死态:zombie


进程管理工具:top

        top命令能够实时显示系统运行时的动态。它可以显示系统摘要信息,以及目前Linux内核管理的作业列表

直接top命令后:


我们从每行开始解释下:

第一行:

top - 12:34:51、当前时间;up 10:39、系统已运行时间;2 users、当前在线用户;

         load average、平均负载 1分钟,5分钟,15分钟;

第二行:

Tasks: 75 total、当前作业总数;1 running、1个正在运行;74 sleeping、74个处于睡眠态;

            0 stopped、0个处于停止态;0 zombie、0个处于僵死态

第三行:

Cpu(s) us:用户空间占用CPU百分比;sy:内核空间占用CPU百分比;id:空闲CPU百分比;

             ni:用户进程空间内改变过优先级的进程占用CPU百分比;wa:等待输入输出的CPU时间百分比;

             hi:硬中断占用CPU时间百分比;si:软中断占用CPU时间百分比;st:被虚拟化偷走的时间百分比

第四行和第五行分别是 内存 和 交换空间 的使用情况,total:总量;used:已经使用;free:空闲的;


接下来则是高亮部分

PID:进程标识符

USER:进程所有者

PR:优先级

NI:nice值

VIRT:虚拟内存大小

RES:常驻内存

SHR:共享内存

S:进程状态

        R:running
        S:interruptable sleeping
        D:uninterruptable sleeping
        T:stopped
        Z:zombie

        +:前台进程
        l:多线程进程
        N:低优先级进程
        <:高优先级进程
        s:session leader

%CPU:CPU时间占用百分比

%MEM:内存空间占用百分比

TIME+:使用CPU时间总计

COMMAND:执行的命令


top命令还有许多内置命令:

        排序:
                P:以占据的CPU百分比;
                M:占据内存百分比;
                T:累积占据CPU时长;

        首部信息显示/隐藏:
                刷新时间信息:l命令
                作业及CPU信息:t命令
                指定单个CPU信息:1 (数字)
                内存信息:m命令
        退出命令:q
        修改刷新时间间隔:s
        终止指定进程:k


进程管理工具:htop

        相对于top命令,htop命令呈现的界面十分绚丽,允许你通过上下方向键选择作业。这里需要注意一点,默认linux安装后并不安装这个包,可以通过Fedora-EPEL源下载安装

htop常用选项和命令

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


系统监控工具:glances

        glances是一个免费的居于(LGPL)的跨平台监控工具,目的是让最大的信息呈现在最小的空间内。

内建命令:
        a  Sort processes automatically     l  Show/hide logs
        c  Sort processes by CPU%           b  Bytes or bits for network I/O
        m  Sort processes by MEM%         w  Delete warning logs
        p  Sort processes by name             x  Delete warning and critical logs
        i  Sort processes by I/O rate           1  Global CPU or per-CPU stats
        d  Show/hide disk I/O stats             h  Show/hide this help screen
        f  Show/hide file system stats         t  View network I/O as combination
        n  Show/hide network stats            u  View cumulative network I/O
        s  Show/hide sensors stats            q  Quit (Esc and Ctrl-C also work)
        y  Show/hide hddtemp stats

常用选项:
        -b:以Byte为单位显示网卡数据速率;
        -d:关闭磁盘I/O模块;
        -f /path/to/somefile:设定输入文件位置;
        -o {HTML|CSV}:输出格式;
        -m:禁用mount模块
        -n:禁用网络模块
        -t #:延迟时间间隔
        -1:每个CPU的相关数据单独显示;



性能检测工具:dstata

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

常用选项
        -c:显示cpu相关信息;

         -C #,#,...,total

        -d:显示disk相关信息;
        -D total,sda,sdb,...
        -g:显示page相关统计数据;
        -l:显示负载的相关数据
        -m:显示memory相关统计数据;
        -n:显示network相关统计数据;
        -p:显示process相关统计数据;
        -r:显示io请求相关的统计数据;
        -s:显示swapped相关的统计数据;
        --tcp
        --udp
        --unix
        --raw
        --socket 

        --ipc

        --top-cpu:显示最占用CPU的进程;
        --top-int:显示最占用中断的进程;
        --top-io:显示最占用io的进程;
        --top-mem:显示最占用内存的进程;
        --top-lantency:显示延迟最大的进程;


0 0