常用工具及命令:pstree、ps、pidof、pgrep、top、htop、vmstat、glances、dstat、kill、bg、fg、nice、renice

Linux进度查看及管制的工具:pstree,ps,pidof,pgrep,top,htop,glance,pmap,vmstat,dstat,kill,pkill,job,bg,fg,nohup

根本的效益:进程管理、文件系统、互连网成效、内存管理、驱动程序、安全成效
Process:运行中的程序的一个副本
留存生命周期
linux内核存储进度音信的固定格式:task struck
多少个任务的task struck组件的链表:task list

  • 进程成立

init     
    父子关系     
    进程:都由其父进程创建       
        fork(),clone()
进程优先级:
    0-139:
        1-99:实时优先级,数值越大, 优先级越高   
        100-139:静态优先级,数值越小,优先级越级高
    Nice值:-20,19,依次对应100-139      

    Big O
        O(1),O(logn),O(n),O(n^2),O(2^n)
进程内存:
    Page Frame:页框,用于存储页面数据
    MMU:Memory Management Unit负责转换线性和物理地址

IPC:Inter Process Communication 
    同一主机上:
        signal
        shm:shared memory 
        semerpher
    不同主机上:
        rpc:remote procecure call
        socket
  • Linux内核:抢占式多职分

进程类型:
    守护进程:daemon,在系统引导过程中启动的进程,跟终端无关   
    用户进程:跟终端相关,通过终端启动的进程
        注意:也可把在前台启动的进程送至后台,以守护模式运行  
进程状态:
    运行态:running
    就绪态:ready
    睡眠态:
        可中断:interruptable
        不可中断:uninterruptable
    停止态:暂停于内存中,但不会被调度,除非手动启动之
    僵死态:zombie 

进程的分类:
    CPU-Bound 
    IO-Bound

I/O:分时复用
  • linux进度查看及管理工具:pstree, ps, pidof,pgrep, top, htop, glance,
    pmap, vmstat, dstat, kill,pkill, job, bg, fg, nohup

进度概念

基本的法力:进度管理、文件系统、互联网功用、内存管理、驱动程序、 安
全职能等

Process:运行中的程序的一个 副本,是被 载入内存的一个指令集合

进程ID(Process ID,PID)号码被用来标记各个进程
UID、GID、和SELinux语境决定对文件系统的存取和访问权限,
通常从执行进程的用户来继承
存在生命周期

task struct:Linux内核存储进度新闻的数据结构格式

task list:八个职务的的task struct组成的链表

经过创制:

init :第一个进程
    父子关系
进程:都由其父进程创建, ,CoW
    fork(), clone()
  • 经过优先级

进度优先级:

系统优先级:数字越小,优先级越高
    0-139(CentOS4,5)
        各有140个运行队列和过期队列
    0-98,99(CentOS6)
实时优先级:99-0:值最大优先级最高
nice值:-20到19,对应系统优先级100-139或99  
  • Centos 4,5优先级

澳门金沙国际 1

  • Centos 6优先级

澳门金沙国际 2

Big O:时间复杂度,用时和规模的关系

O(1), O(logn), O(n) 线性, O(n^2) 抛物线, O(2^n)
  • 进度有关概念

进程内存:

Page Frame:页框,用存储页面数据,存储Page 4k
LRU:Least Recently Used近期最少使用算法, 释放内存
物理地址空间和线性地址空间
MMU :Memory Management Unit负责转换线性和物理地址
TLB:Translation LookasideBuffer翻译后备缓冲器,用于保存虚拟地址和物理地址映射关系的缓存

IPC: Inter Process Communication

同一主机: signal: 信号
    shm: shared memory
    semaphore: 信号量,一种计数器
不同主机:rpc: remote procedure call
    socket: IP和端口号

经过景况

Linux内核:抢占式多职分

进度类型:

守护进程:daemon, 在系统引导过程中启动的进程,和终端无关进程
前台进程:跟终端相关,通过终端启动的进程
注意:两者可相互转化

经过处境:

运行态:running
就绪态:ready
睡眠态:
    可中断:interruptable
    不可中断:uninterruptable
停止态:stopped, 暂停于内存,但不会被调度,除非手动启动
僵死态:zombie

centos6.6下dstat htop top进度管理命令

进程管理

命令:

pstree

显示:进程树

pstree–p

展现:进度树和PID

ps:process state

Linux运行中的内核的有关信息是通过/proc伪文件系统输出的;各进度都有一个以其PID命名的子目录,每个子目录中有广大文书存储了经过的相干情形音信。彰显的是ps命令执行时,系统上脚下历程情况新闻的快照;所以,为静态结果。

按照进度启动时是不是是通过极端上的用户接口交互式启动的,进度可分为两类:

ps a

显示:终端相关的经过

ps x

体现:终端无关的进度

ps u

展现:用户为骨干社团进程情形音讯体现

常用选项组合1:

ps axu

USER PID %CPU %MEMVSZ RSS TTY STATSTARTTIME COMMAND

VSZ: Virtualmemory Size线性地址空间占据的空中大小

RSS:常用驻内存集;指不可以被换成至swap空间的数额占据空间尺寸

STAT:进度景况

R: running,运行意况

S:interruptiblesleeping,可间歇睡眠

D:uniterruptiblesleeping,不可中断睡眠

T: stopped停止态

Z: zombie僵死态

s: session leader会话主进度

+:前台进程,占据着某终端

l:三十二线程进程

<:高优先级进度

N:低优先级进度

START:启动时间

TIME:占据CPU累积时长

COMMAND:启动当前历程或线程的命令行程序,[]表示为基石线程

常用选项组合2:

ps –ef

-e:突显所有进度

-f:展现丰盛格式信息

常用选项组合3:

ps -eFH

-F:呈现额外音讯

-H:以层级方式呈现进度间事关

自定义需求显示的音信:

ps axo pid,command,psr,pri,ni

psr:当前进程运行的CPU编号

pri:当前进程的事先级

ni:当前进程的nice值-20, 19值越小优先级越高

pgrep –U“root”

仅展现以指定用户身份运行的经过

pgrep –G“root”

pgrep –l“tty”

pidof /bin/bash

uptime

显示系统负载行

top

进去另一个界面:

P:以占据的CPU百分比大小排序

M:以占据Memory空间尺寸排序

T:CPU累积占用时间排序

l:是还是不是出示系统负荷行队列长度的客体区间:CPU颗数*0.7

t:是还是不是出示进程摘要音讯及CPU负载状态

Cpu(s):0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa,0.0%hi, 0.0%si, 0.0%st

us:user space

sy:system (kernel space)

ni:nice

id:idle

wa:wait io

hi:hardware interrupt

si:software interrupt

st:stolen,被虚拟机“偷走”的百分比

1:(数字1)平均或独立突显CPU的负荷状态

【澳门金沙国际】马哥笔记,进程管理工具使用。m:是不是出示内存相关的动静消息

q:退出命令

s:修改延迟时长

k:终止指定进度

top –b –n 2

来得2批次的进度数量

top –d 1

来得1秒延迟时长

htop切换来相互界面

u:过滤仅呈现选定用户的长河

s:跟踪选定的经过所提倡的系统

l:展现选定进度所打开的文本

t:展现进程的层次结构

a:设定进程的cpu亲缘性(将选定的历程绑定在指定的CPU上)

htop –d 3延迟时长3秒

htop –uroot突显root用户的进程

vmstat 1 5

1:延时时长1秒

5:全体刷新5次

vmstat 2

2:延时时长2秒

procs:

r:等待运行的进度个数(队列长度)

b:处理不可中断睡眠情况的进度个数(即IO阻塞队列长度)

memory:

swpd:互换内存使用量

free:空间的大体内存量

buffer:用于缓冲的内存总量

cache:用于缓存的内存总量

swap:

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

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

io:

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

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

system:

in:中断速率

cs:进度切换的速率

vmstat -s展现内在的情状统计数据

硬件接口文件:/proc/数字

pmap -x1查看pid进度为1的内存映射关系

cat /pro c/1/maps显示pid进程为1的内存映射关系

glances突显硬件各数据状态

长距离情势配置

服务端

glances –s -B 192.168.1.110

-B用于指明监听本地地址

客户端

glances -c 192.168.1.110

-c用于连入的服务端的IP地址

dstat –c显示cpu质量目标相关的统计数据

dstat -d突显disk相关的速率数据

dstat -g呈现page相关的速率数据

dstat -i展现interrupt相关的速率数据

dstat -l呈现loadaverage相关的计算数据

dstat -m突显memory相关的计算数据

dstat -n显示网络收发数据的速率

澳门金沙国际,dstat -p显示进程有关的总结数据

dstat -r io请求的速率

dstat -s显示swap的有关数据

dstat -y呈现系统有关的数码,包含中断和进度切换

dstat –top-cpu呈现最占用CPU的进度

dstat –top-bio突显最消耗block io的经过

dstat –top-io最占用io的进程

dstat –top-mem彰显最占用内存的长河

dstat –ipc突显进程间通讯相关的速率数据

dstat –raw突显raw套接的连带的数目

dstat –tcp突显tcp套接字的相关数据

dstat –udp呈现udp套接字的相干数据

dstat –unix突显unix sock接口相关的总计数据

dstat -a突显整个音讯

dstat展现任何音信

dstat -cdngy展现整个信息

经过间的短小音信

kill向进入发送信号

kill -9 1198(PID)发送9信号给1198(PID)进程

信号表示意思:

SIGHUP:1,通知进度重读其计划文件以让新的安排生效,但不用再行开动进度

SIGINT:2,打断正在运行中的进度,相当于键盘组合键Ctrl+c

SIGKILL:9,强行中止正在运转中的进度

SIGTERM:15,安全中止正在运作中的进度

SIGSTOP:19,暂停进度

SIGCONT:18,继续运行指定进度

killall -9 vsftpd发送9信号给vsftpd进程

作业运行于后台方式

ctrl+z

作业被送以后台后,默许处于stopped状态

vim vim.txt &

以上两类方式,照旧与终极相关;终端终止,将会促成与此终端相关的所有作业被终止

nohup vim vim.txt&

剥离进度与终极的关联,关闭终端。进度如故正常运转

作业查看

jobs查看后台作业

fg 2把后台2号作业调回前台

bg 2把后台2号作业启动起来,让其后台默默运行;但此作业必须帮忙运行于后台

kill %2终止2号作业,%不能少。

htop top进程管理命令 进程管理
命令: pstree 突显:进度树 pstreep 突显:进度树和PID ps:process state
Linux运行中的内核的连带信息…

一、 pstree – display a tree of processes

pstree命令

  • 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:与终端无关的进程  

    [root@danran ~]# ps aux   
    USER     PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND   

        PID:进程号
        %CPU:CPU使用率
        %MEM:内存使用率
        VSZ:Virtual memory Size 虚拟内存集 
        RSS:ReSident Size:常驻内存集,一般小于虚拟内存集  
        tty:终端
        STAT:进程状态   
            R:running
            S:interruptable sleeping
            D:uninteruptable sleeping
            T:stopped
            Z:zombie

            +:前台进程
            l:多线程进程
            L:内存分页并带锁
            N:低优先级进程
            <:高优先级进程
            s:session leader,会话子进程发起者 
    START:启动时间  
    TIME:运行占用CPU的累计时长
    COMMAND:表示启动进程的命令

常用组合:-ef
    -e:显示所有进程
    -f:显示完整格式的程序名称   

常用组合:-ejH
    以进程层级格式显示进程相关信息(树状显示)

    -j:BSD格式的任务格式   
    -H:显示树状结构   
    j :BSD风格的任务控制格式   

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

常用组合:-axZ
    -Z:表示Selinux的安全上下文标签
    -a:显示所有进程
    -x:显示没有终端的进程

常用组合:-eo,axo
    -eo pid,tid class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
    axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm

        ni:nice值
        pri:priority,优先级
        psr:processor,CPU
        rtprio:实时优先级   
        epid:表示真实用户
        ppid:父进程

系统管理工具

  • 进程的归类:

CPU-Bound:CPU 密集型,非交互
IO-Bound:IO 密集型,交互
  • Linux 系统状态的查阅及管理工具:pstree, ps, pidof,pgrep, top, htop,
    glance, pmap, vmstat, dstat, kill,pkill, job, bg, fg, nohup

 1 yum install psmisc //软件包包罗命令pstree、killall、fuser 

pgrep

pgrep [options] pattern
pkill [options] pattern

    -u UID:指明有效用户的进程
    -U uid:指明真实用户的进程
    -t terminal:跟指定终端相关的进程
    -a:显示完整格式的进程名
    -l:显示进程名
    -P pid:显示其父进程为此处指定进程的进程列表

pstree 命令:

pstree - display a tree of processes

ps: process state

ps - report a snapshot of the current processes
Linux系统各进程的相关信息均保存在/proc/PID 目录下的各文件中

二、ps – report a snapshot of the
current processes

pidof

根据进程名获取其PID

ps查看进度

适用ps来查阅进程音讯

  • ps [OPTION]…
    支撑二种选用:

UNIX选项 如-A -e
BSD选项 如a
GNU选项 如--help

选料:默许呈现当前极端中的进程

a 选项包括所有终端中的进程
x 选项包括不链接终端的进程
u 选项显示进程所有者的信息
f 选项显示进程的父进程
k| --sort 属性  对属性 排序
o 属性…  选项显示定制的信息
    pid、user、comm(cmd)、%cpu、%mem、state、tty、euser(==user为有效用户)、ruser(真实用户)
   用法:ps [options]           
                u:以用户为中心组织进程状态信息显示
                a: 与终端相关的进程
                x: 与终端无关的进程       
               -e: 显示所有进程
               -f: 显示完整格式程序信息
               -F: 显示完整格式的进程信息
               -H: 以进程层级格式显示进程相关信息                

top

有不少放到命令

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

首部信息显示:
    uptime信息:l命令
    tasks及CPU信息:t命令
        CPU分别显示:1(数字)
    memory信息:m命令
退出命令:q
修改刷新时间间隔:s
终止指定进程:k

选项:

-d #:指定刷新时间间隔,默认为3s
-b:以批次方式全部显示   
-n #:显示多少批次

栏位音讯简介

us:用户空间
sy:内核空间
ni:调整nice时间
id:空闲
wa:等待IO时间
hi:硬中断
si:软中断(模式切换)
st:虚拟机偷走的时间

进度管理工具

VSZ:Virtual memory SiZe,虚拟内存集,线性内存
RSS:ReSident Size,常驻内存集
STAT:进度意况

R:running
S:interruptable sleeping(可中断)
D:uninterruptable sleeping(不可中断)
T:stopped(停止)
Z:zombie(僵死)
+:前台进程
l:多线程进程
L:内存分页并带锁
N:低优先级进程
<:高优先级进程
s:session leader,会话子进程发起者  

常用组合:-ef
    -e:显示所有进程
    -f:显示完整格式程序信息
常用组合:-eFH
    -F:显示更完整格式的进程信息
    -H:以进程层级格式显示进程相关信息
常用组合:自定义
    -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:实时优先级

示例:
    ps axo pid,cmd,psr,ni,pri,rtprio  (rtprio超出99的不显示)   

澳门金沙国际 3

  • 进度优先级
    进程优先级调整:

静态优先级:100-139
进程默认启动时的nice值为0,优先级为120
只有根用户才能降低nice值(提高优先性)

nice指定优先级命令:

nice [OPTION] [COMMAND [ARG]...]
nice -n -20 ping 127.0.0.1 

renice修改优先级命令:

renice [-n] priority pid...
renice -n -20 ping 127.0.0.1  修改ping的renice优先级为20
renice -5 ping 127.0.0.1 修改ping的renice优先级为-5
renice 5 ping 127.0.0.1 修改ping的renice优先级为5

查看:

ps axo pid,comm,ni

实例:

htop

epel源下载安装

eg
http://172.16.0.1/fedora-epel/7/x86\_64
yum -y install htop

htop命令
    选项:
        -d #:指定延迟时间
        -u Username:仅显示指定用户的进程
        -s COLOMN:以指定字段进行排序
    命令
        s:跟踪选定进程的系统调用
        l:显示选定进程打开的文件列表
        a:将选定的进程绑定至某CPU核心   
        t:显示进程数
    注意:Fedora-EPEL源
  • Linux进度查看及管理的工具:pstree,ps,pidof,pgrep,top,htop,glances,pmap,vmstat,dstat,kill,pkill,job,bg,fg,nohup

探寻进度

最灵敏:ps 选项 | 其余命令

按预约义的情势:pgrep

pgrep [options] pattern
    -u uid: effective user,生效者
    -U uid: real user,真正发起运行命令者
    -t terminal:与指定终端相关的进程
    -l:显示进程名
    -a:显示完整格式的进程名
    -P pid:显示指定进程的子进程

按适合的先后名称:/sbin/pidof

pidof:显示指定进程的编号,可判断该进程是否存在  
pidof bash 
[root@alen ~]# ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.6 193468  6576 ?        Ss   13:49   0:01 /usr/lib/systemd/systemd --switched-root --system
root          2  0.0  0.0      0     0 ?        S    13:49   0:00 [kthreadd]

各条目含义:
    USER: 进程属主
    PID:进程ID
    %CPU: CPU占用时间比
    %MEM: 内存占用时间比
    VSZ:virtual memory size,虚拟内存集
    RSS:ReSident Size,常驻内存集
    TTY: 终端
    START: 进程状态
            R:running
            S:  interruptable sleeping
            D: uninterruptable sleeping
            T: stopped
            Z: zombie

            +: 前台进程
            l:多线程进程
            N:低优先级进程
            <:  高优先级进程
            s:   session leader
    START: 启动时间        
    TIME: 进程占用CPU的累计时长       
    COMMAND:进程由哪条命令运行起来的    

[root@alen ~]# ps -ef
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 13:49 ?        00:00:02 /usr/lib/systemd/systemd --switched-root --system --deserialize 2
root          2      0  0 13:49 ?        00:00:00 [kthreadd]
各条目含义:
  UID: 进程属主id
  PID: 进程id
  PPID:父进程id
  C: CPU编号
  STIME: start time 
  TTY:终端
  TIME:进程占用CPU累计时长 

[root@alen ~]# ps -eFH
UID         PID   PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
root          2      0  0     0     0   1 13:49 ?        00:00:00 [kthreadd]
root          3      2  0     0     0   0 13:49 ?        00:00:00   [ksoftirqd/0]

vmstat命令

vmstat [options] [delay [count]]
    procs:
        r:等待运行的进程的个数
        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:用户空间占据CPU的比率
        sy:内核空间占据CPU的比率
        id:空闲空间占据CPU的比率
        wa:等待IO完成所消耗的比率
        st:被虚拟化偷走的CPU比率   
选项:
    -s:显示内存统计数据

系统工具

ps -eo {pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,comm}
ps -axo {stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm}

pmap(内存映射)

NAME
    pmap - report memory map of a process(内存映射表)

格式:
   pmap [options] pid [...]
        -x:显示详细格式的信息
    另外一种实现:
        cat /proc/PID/maps 

uptime

展现当前光阴,系统已开行的年华、当前上线人数,系统平均负载(1、5、10秒钟的平均负载,一般不会超越1)

  1. 系统平均负载:

指在特定时间距离内运行队列中的平均进度数

  1. 日常每个CPU内核的当前活动经过数不高于3,那么系统的习性突出.假如每个CPU
    内核的天职数超越5,那么此主机的属性有生死攸关难题

  2. 如果linux主机是1个双核CPU,当Load
    Average为6的时候证实机器已经被充裕利用

![](https://timgsa.baidu.com/timg?image&quality=80&size=b10000_10000&sec=1499322784&di=e170e694ae46480c5b938de1710b00b3&imgtype=jpg&src=http://b.hiphotos.baidu.com/image/pic/item/54fbb2fb43166d22364a95294c2309f79052d24a.jpg)

14:34:55 //系统当前时间
up 2:45,  //主机已运行时间,时间越大,说明你的机器越稳定。
4 user  //用户连接数,是总连接数而不是用户数
load average   // 系统平均负载,统计最近1,5,15分钟的系统平均负载
    系统平均负载是指在特定时间间隔内运行队列中的平均进程数。
    如果每个CPU内核的当前活动进程数不大于3的话,那么系统的性能是良好的。如果每个CPU内核的任务数大于5,那么这台机器的性能有严重问题。
    如果你的linux主机是1个双核CPU的话,当Load Average 为6的时候说明机器已经被充分使用了。

  ni:nice值

glances

epel源安装   
    http://172.16.0.1/fedora-epel/7/x86_64   epel源   
客户端和服务端都需要安装glances工具    

接纳glances工具时必要关闭防火墙

  • glances使用格式

glances [-bdehmnrsvyz1] [-B bind] [-c server] [-C conffile] [-p port] [-P password] [--password] [-t refresh] [-f file] [-o output]

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

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

C/S模式下运行glances命令
    服务模式
        glances -s -B IPADDR
            IPADDR:指明监听本机哪个地址     
    客户端模式:
        glances -c IPADDR
            IPADDRR:要连入的服务器端地址    

进度管理工具

  pri: priority,优先级

dstat

格式:
    dstat [-afv] [options..] [delay [count]]
选项:
    -c:显示cpu相关信息
        -C#,#,...,total单独显示指定Cpu的信息
    -d:显示disk读写速率等相关信息
        -D:total,sda,sdb...单独显示指定磁盘的信息 
    -g:显示page相关统计数据(换进换出)
    -i:显示统计的详细信息
    -l:仅显示load(负载)
    -n:显示network的相关统计数据 
    -m:只显示memory的相关统计数据 
    -p:显示process的相关统计数据
    -r:显示io请求相关的统计
    -s:显示swapped相关的统计数据

    --tcp:显示tcp协议相关统计数据
    --udp:显示udp协议的相关统计数据
    --socket:显示socket文件的统计数据
    --raw:裸套接字文件的统计数据
    --ipc:进程间通信的统计数据


    --top-cpu:显示最占用CPU的进程
    --top-io:显示最占用io的进程
    --top-mem:显示最占用内存的进程
    --top-lantency:显示延迟最大的进程
  • dstat 1 每秒刷新一回
    澳门金沙国际 4

total-cpu-usage:cpu使用状态
dsk/total:磁盘读写速率
net/total:网络收发速率  
paging:页面的换进换出速率
systea:中断和上下文切换的速率
  • dstat -D total,sda -C 0,total 彰显sda磁盘,CPU0的详细消息
    澳门金沙国际 5

top

选项:
    -d #:指定刷新时间间隔,默认为3秒 
    -b:全部显示所有进程
    -n #:刷新多少次后退出

有不可胜计放置命令

排序:
    P:以占据的CPU 百分比,%CPU
    M:占据内存百分比,%MEM
    T:累积占据CPU 时长,TIME+
首部信息显示:
    uptime信息:l 命令
    tasks及cpu信息:t 命令
    cpu分别显示:1 ( 数字)
    memory信息:m 命令
退出命令:q
修改刷新时间间隔:s
终止指定进程:k
保存文件:W

栏位消息简介

us:用户空间
sy:内核空间
ni:调整nice 时间
id:空闲
wa:等待IO 时间
hi:硬中断
si:软中断(模式切换)
st:虚拟机偷走的时间

  psr: processor,CPU

kill命令

向进程发送控制号,以实现对进程管理

显示当前系统可用信号
    kill -l
    man 7 signal

常用信号(SIGNAL):
    1)SIGHUP:无需关闭进程而让其重读配置文件
    2)SIGINT:中止正在运行的程序,相当于Ctrl+c
    9)SIGKILL:杀死正在运行的进程
    15)SIGTERM:终止正在运行的进程
    18)SIGCOUT:处于停止态的继续运行
    19)SIGSTOP:让进程处于停止状态

指定信号的方法:
    1) 信号的数字标识:1,2,9
    2) 信号完整名称:SIGHUP
    3) 信号的简写名称:HUP

向进程发信号:
    kill [-SIGNAL] PID...
        kill -15  2440  杀死ID号为2440的进程
        kill -SIGINT 2440 

终止“名称”之下的所有进程
    killall [-SIGNAL] Program

htop 命令:需从Fedora-EPEL 源安装

http://172.16.0.1/fedora-epel/7/x86\_64
yum -y install htop

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

  rtprio: 实时优先级

Linux作业控制

前台作业:通过终端启动,且启动后一直占据终端
后台作业:可以通过终端启动,但启动后即转入后台运行(释放终端)

如何让作业运行于后台:
    1):运行中的作业   
        Ctrl+z
    2):尚未运行的作业
        COMMAND &
    此类作业虽然被送往后台运行,但其依然与终端相关;如果希望送往后台后,剥离与终端的关系:
        nohup COMMAND &

    查看当前终端所有作业:
        jobs

    作业控制:
        fg [[%]JOB_NUM]:把指定的后台作业调回前台(JOB_NUM为后台作业ID)
        bg [[%]JOB_NUM]:让送往后台的作业在后台继续运行
        kill [[%]JOB_NUM]:中止指定作业

内存工具

vmstat 命令:虚拟内存音讯

vmstat [options] [delay [count]]
vmstat 2 5

选项:

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

procs:

r:可运行(正运行或等待运行)进程的个数,和核心数有关
b:处于不可中断睡眠态的进程个数( 被阻塞的队列的长度)

memory:

swpd: 交换内存的使用总量
free:空闲物理内存总量
buffer:用于buffer 的内存总量
cache:用于cache 的内存总量

swap:

si:从磁盘交换进内存的数据速率(kb/s),以内存为参考点
so:从内存交换至磁盘的数据速率(kb/s),以内存为参考点

io:

bi:从块设备读入数据到系统的速率(kb/s),以内存为参考点
bo:保存数据至块设备的速率,以内存为参考点

system:

in:interrupts 中断速率,包括时钟
cs:context switch 进程切换速率

cpu:

us:Time spent running non-kernel code
sy:Time spent running kernel code
id:Time spent idle. Linux 2.5.41 前, 包括IO-wait time.
wa:Time spent waiting for IO. 2.5.41 前,包括in idle.
st:Time stolen from a virtual machine. 2.6.11 前, unknown.
  • iostat: 统计CPU和设备IO信息

    以身作则:iostat 1 10 每秒刷新一回,采集10次

  • pmap 命令:进程对应的内存映射

    pmap [options] pid […]
    -x: 突显详细格式的音讯
    示例:pmap 1

  • 除此以外一种达成:

    cat /proc/PID/maps

三、pgrep, pkill – look up or signal processes based on
name and other attributes

互相运行

同时运转多个经过,升高成效

方法1
    vim all.sh
        f1.sh & <==> ping 127.0.0.1 & 
        f2.sh & <==> ping 192.168.198.134 &
        f3.sh &
方法2
    (f1.sh &);(f2.sh &);(f3.sh &)
    (ping 127.0.0.1 &);(ping 192.168.198.134 &)
方法3
    { f1.sh & f2.sh & f3.sh & }
    { ping 127.0.0.1 & ping 192.168.198.134 & }

系统监控工具

glances 命令:EPEL源

glances [-bdehmnrsvyz1] [-B bind] [-c server] [-C conffile]
[-p port] [-P
password] [–password] [-t refresh] [-f file] [-o output]

常用选项:

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

内建命令:

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

    服务器格局:
    glances -s -B IPADDR
    IPADDR:指明监听的本机哪个地点
    客户端格局:
    glances -c IPADDR
    IPADDR:要连入的劳务器端地址

  用法:pgrep [options] pattern
         pkill [options] pattern
                -u uuid: effective user,有效用户id
                -U uuid:real user,实际用户id
                -t terminal: 与指定终端相关的进程
                -l: 显示进程名
                -a: 显示完整格式的进程名
                -P pid:显示其父进程为此处指定的进程的进程列表

进度优先级调整

静态优先级:100-139

进程默认启动时的nice值为0,优先级为120
    nice命令:(启动进程时指定nice值)
        nice [OPTION] [COMMAND [ARG]...]
        nice -n 5 htop  htop进程启动的nice值为5,优先级为125,数值越小,优先级越高 
    nice,renice

    renice命令(修改以启动进程的nice值)
         renice [-n] priority [-gpu] identifier...
         renice -n 2 htop 

    查看:
        ps axo pid,comm,ni 

dstat

dstat命令:系统资源总结,代替vmstat,iostat

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

-c:显示cpu相关信息
    -C #,#,...,total
-d:显示disk相关信息
    -D total,sda,sdb,...
-g:显示page相关统计数据
-m:显示memory相关统计数据
-n:显示network相关统计数据
-p:显示process相关统计数据
-r:显示io请求相关的统计数据
-s:显示swapped相关的统计数据   

--tcp

--udp

--unix

--raw

--socket

--ipc

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

--top-io:显示最占用io的进程

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

--top-latency:显示延迟最大的进程

四、pidof — find the process ID of a running
program,根据进程名取得其PID

未涉及的授命:sar,tsar,iostat,iftop

进程管理工具

五、top – display Linux
processes,动态展现进度景况

kill命令

  • 向进度发送控制信号,以贯彻对经过管理,每个信号对应一个数字,信号名称以SIG初叶(可概括),不区分轻重缓急写

格式 
    kill(选项)(参数)

    kill [ -s signal | -p ] [ -a ] pid ... 
    kill -l [ signal ] 

选项
    -s:指定发送的信号。 
    -p:模拟发送信号。 
    -l:指定信号的名称列表。 
    -a:当处理当前进程时,不限制命令名和进程号的对应关系;
    -u:指定用户。
    pid:要中止进程的ID号。 
    Signal:表示信号。
参数
    进程或作业识别号:指定要删除的进程或作业
  • 呈现当前系统可用信号: kill –l,trap -l

常用信号:man 7 signal
    1) SIGHUP: 无须关闭进程而让其重读配置文件  
    2) SIGINT: 中止正在运行的进程;相当于Ctrl+c
    3) SIGQUIT:相当于ctrl+\
    9) SIGKILL:强制杀死正在运行的进程
    15) SIGTERM:终止正在运行的进程(默认为15)
    18) SIGCONT:继续运行
        kill -18 3298 将进程ID为3298的程序继续后台运行,停止后台休眠   
    19) SIGSTOP:后台休眠
        kill -19 3298 将进程ID为3298的程序放后台休眠  
指定信号的方法:
    (1)信号的数字标识:1,2,9
    (2)信号完整名称:SIGHUP 
    (3)信号的简写名称:HUP
  • 按PID :kill [-SIGNAL] pid …

kill –n SIGNAL pid;kill –s SIGNAL pid
kill -9 1200 
  • 按名称:killall [-SIGNAL] comm…

killall -9 bash   杀死bash程序的所有进程   
  • 按模式:pkill [options] pattern

-SIGNAL
-u uid:effective user,生效者
-U uid: real user,真正发起运行命令者
-t terminal:与指定终端相关的进程
    kill -t /dev/pts/1 杀死/dev/pts/1终端的进程   
-l:显示进程名(pgrep可用)
-a:显示完整格式的进程名(pgrep 可用)
-P pid: 显示指定进程的子进程   

[root@alen ~]# top

作业管理

  • Linux 的作业控制

前台作业:通过终端启动,且启动后一直占据终端;
后台作业:可通过终端启动,但启动后即转入后台运行(释放终端)
  • 让作业运行于后台

(1)运行中的作业:Ctrl+z
(2)尚未启动的作业:COMMAND &

后台作业即使被送将来台运行,但其仍旧与终极相关;退出终端,将关闭后台作业。若是指望送未来台后,剥离与终端的涉嫌

nohup COMMAND &  会产生nohup.out文件
    nohup ping 127.0.0.1 &> /dev/null &  产生的nohup.out文件导入null
screen COMMAND
    screen 先打开会话窗口 
    ping 127.0.0.1 执行命令

终极关闭前ping进度在sshd进度下screen进度下

澳门金沙国际 6

顶点关闭后,screen进度脱离ssh进程成为独立的历程存在

澳门金沙国际 7

  • 翻看当前终端所有作业:

jobs
  • 作业控制:

fg [[%]JOB_NUM]:把指定的后台作业调回前台  fg 1 将后台进程ID为1的进程调回前台进行  
bg [[%]JOB_NUM]:让送往后台的作业在后台继续运行
    bg 1  1为进程ID
kill [%JOB_NUM]:终止指定的作业
top - 19:43:38 up  5:53,  3 users,  load average: 0.00, 0.01, 0.05
Tasks: 117 total,   1 running, 114 sleeping,   2 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni, 99.8 id,  0.2 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :   997980 total,   454352 free,   154824 used,   388804 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.   647980 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                      
   703 root      20   0  298712   6112   4784 S   0.3  0.6   0:24.18 vmtoolsd                                     
     1 root      20   0  193468   6576   4088 S   0.0  0.7   0:02.07 systemd                                      
     2 root      20   0       0      0      0 S   0.0  0.0   0:00.01 kthreadd  
  内置命令:
    排序:
      P:以占据的CPU百分比排序
      M:以占据的内存百分比排序
      T:以累计占据CPU时长排序
    首部信息显示与关闭:l键
    Tasks及cpu信息显示与关闭:t键
        cpu分别显示:数字1
    memory信息: m键
    修改刷新时间间隔:s键
    终止指定进程:k键
    退出命令:q键
  选项: 
    -d #: 指定刷新时间间隔,默认为3秒
    -b: 以批次方式显示
    -n #: 显示多少批次
第一行:
   top - 19:43:38   up  5:53,  3 users,            load average: 0.00, 0.01, 0.05
   当前系统时长  运行时长  当前系统登录的用户数    平均负载(过去一分钟、五分钟、十五分钟)
第二行:
   Tasks: 117 total,   1 running, 114 sleeping,   2 stopped,   0 zombie
      运行的进程数  运行状态的进程数  睡眠态的进程数  停止态的进程数  僵死态的进程数
第三行
   %Cpu(s):  0.0 us,      0.0 sy,  0.0 ni, 99.8 id,  0.2 wa,                 0.0 hi,       0.0 si,                 0.0 st
   用户空间程序占用的百分比    内核空间   nice值 空闲比例 wait等待io完成的时间   处理硬件中断  处理软中断(模式切换)  虚拟化技术所使用的时间
第四行 
  KiB Mem :   997980 total,   454352 free,   154824 used,   388804 buff/cache
         物理内存总空间    空闲空间      已用空间    buff和cache占据的空间
  KiB Swap:  2097148 total,  2097148 free,        0 used.   647980 avail Mem 
        总空间      空闲空间                 可用空间
  PID   USER      PR         NI    VIRT      RES       SHR          S      %CPU %MEM     TIME+ COMMAND
  进程号  进程属主 优先级  nice值   虚拟内存集 常驻内存集 共享内存大小 进程状态   

相互之间运行

还要运行七个经过,升高功能

方法1
    vim all.sh
        f1.sh & <==> ping 127.0.0.1 & 
        f2.sh & <==> ping 192.168.198.134 &
        f3.sh &
方法2
    (f1.sh &);(f2.sh &);(f3.sh &)
    (ping 127.0.0.1 &);(ping 192.168.198.134 &)
方法3
    { f1.sh & f2.sh & f3.sh & }
    { ping 127.0.0.1 & ping 192.168.198.134 & }

 六、htop – interactive process
viewer,动态呈现进程意况,(须求安装EPEL源)

[root@alen ~]# htop
    选项:
      -d #:指定延迟时间
      -u UserName: 仅显示指定用户的进程
      -s COLOMN:以指定字段进行排序
    s:跟踪选定进程的系统调用
    l:跟踪选定进程打开的文件列表
    a:将选定的进程绑定至某指定cpu核心
    t:显示进程数

七、vmstat – 报告虚拟内存的总括音讯

  用法:vmstat [-n] [延时[次数]]

[root@alen ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 679632   2120 175388    0    0    69     4   93  109  0  0 99  0  0
    procs:
            r: 等待运行的进程的个数
            b:处于不可中断睡眠态的进程个数:(被阻塞的队列的长度)
    memory:
            swap: 交换内存的使用总量
            free:空闲物理内存总量
             buffer:用于buffer的内存总量
            cache:用于cache的内存总量
    swap:
            si:数据进入swap中的数据速率(kb/s)
            so:数据离开swap中的数据速率(kb/s)
    io:
            bi:从块设备读入数据到系统的速率(kb/s)
            bo:保存数据至块设备的速率
    system:
            in:interrupts,中断速率
            cs:context switch,进程切换速率
    cpu:
            us:用户空间占据cpu的比例
            sy:内核空间占据cpu的比例
            id:空闲比例
            wa: 等待IO完成所消耗的时间比例
            st:被虚拟化技术使用的时间比例
选项:
        -s: 显示内存的统计数据

八、pmap – report memory map of a
process,报告内存的映照关系

pmap [options] pid [...]
    -x:显示详细格式的信息

  其它一种完结:

cat /proc/PID/maps

九、glances – A cross-platform curses-based system
monitoring tool

    用法:glances [OPTIONS]: h打开帮助选项            

内建命令:
 a  Sort processes automatically          b  Bytes or bits for network I/O   
 c  Sort processes by CPU%                l  Show/hide alert logs               
 m  Sort processes by MEM%                w  Delete warning alerts              
 u  Sort processes by USER                x  Delete warning and critical alerts 
 p  Sort processes by name                1  Global CPU or per-CPU stats        
 i  Sort processes by I/O rate            I  Show/hide IP module                
 t  Sort processes by TIME                D  Enable/disable Docker stats        
 d  Show/hide disk I/O stats              T  View network I/O as combination    
 f  Show/hide filesystem stats            U  View cumulative network I/O        
 n  Show/hide network stats               F  Show filesystem free space         
 s  Show/hide sensors stats               g  Generate graphs for current history
 2  Show/hide left sidebar                r  Reset history                      
 z  Enable/disable processes stats        h  Show/hide this help screen         
 3  Enable/disable quick look plugin      q  Quit (Esc and Ctrl-C also work)    
 e  Enable/disable top extended stats  
 /  Enable/disable short processes name   0  Enable/disable Irix process CPU 

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

C/S形式下运行glances命令 

服务模式:
        glances -s -B 192.168.0.108  //指明监听于本机哪个地址
客户端模式:
        glances -c 192.168.0.108    //要连入的服务器地址

十、dstat – versatile tool for generating system
resource statistics,用来呈现系统资源统计数据的精细的工具

用法:dstat [-afv] [options..] [delay [count]]
                        -c:显示cpu相关信息
                                -C #,#...,total
                        -d:显示disk相关信息
                                -D total,sda,sdb,...
                        -g: 显示page相关统计数据
                        -i:显示中断的统计数据
                        -m: 显示memory相关统计数据
                        -n: 显示network相关统计数据
                        -p:显示process相关统计数据
                        -r:显示io请求相关统计数据
                        -s:交换内存的相关统计数据
                        --tcp
                        --udp
                        --unix
                        --raw
                        --socket
                        -ipc: 进程间通信
                        --top-cpu:显示最占用cpu的进程
                        --top-io:显示最占用io的进程
                        --top-mem:显示最占用内存的进程
                        --top-lantency:显示延迟最大的进程

十一、kill – 终止进度 

kill -l 或 man 7 signal
常用信号:
    1)    SIGHUP: 无须关闭进程而让其重读配置文件
    2)    SIGINT:中止正在运行的进程,相当于Ctrl+c
    9)    SIGKILL: 杀死正在运行的进程
    15)    SIGTERM:终止正在运行的进程
    18)    SIGCONT:发信号让进程继续运行
    19)    SIGSTOP:发信号让进程停止态

   向进程发信号:
        kill [ -SIGNAL ] PID...
  终止“名称”之下所有的进程:
        killall [ -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命令:     

nice [OPTIONS] [COMMAND [ARG]...]  
      -n   # :    //如果不指定n的值则默认为10,也就是优先级130

  renice命令: 

renice [-n] priority pid...    //对已经运行的进程设置nice值

  查看进度nice值:

ps  axo  pid,comm,ni

 

未涉及到的其余命令:sar,tsar,iostat,iftop

 

  

  

 

相关文章