1. 什么是进程?

          进程是操作系统的概念,每当我们执行一个程序时,对于操作系统来讲就创建了一个进程,在这个过程中,伴随着资源的分配和释放。可以认为进程是一个程序的一次执行过程。      

  2. 进程创建:
    init :第一个进程
    父子关系
    进程:都由其父进程创建,CoW ,fork(), clone()           

  3. 进程优先级:
    系统优先级: 数字越小,优先级越高
    0-139 (CentOS4,5) )
    各有140 个运行队列和过期队列
    0-98 ,99 (CentOS6) )
    实时优先级: 99-0 值最大优先级最高

    nice 值:-20 到19 ,对应系统优先级100-139 或99

    进程_系统进程

  4. Big O :时间复杂 度 ,用时和规模 的 关系
    O(1), O(logn), O(n) 线性, O(n^2) 抛物线, O(2^n)  

  5. 进程状态
    Linux 内核:抢占式多任务
    进程类型:
    守护进程: daemon, 在系统引导过程中启动的进程, 和 终端无
    关进程
    前台进程:跟终端相关,通过终端启动的进程
    注意:两者可相互转化
    进程状态:
    运行态:running
    就绪态:ready
    睡眠态:
    可中断:interruptable
    不可中断:uninterruptable
    停止态:stopped, 暂停于内存,但不会被调度,除非手动启动
    僵死态:zombie

  6. pstree :查看进程   -p 把子进程都详细地列出来

    进程_系统进程_02    

ps(process state) 进程状态

 ps[OPTION]...支持三种选项:

UNIX 选项 -A -e

BSD 选项  a

GNU 选项 --help

选项:默认显示当前终端中的进程

a 选项包括所有终端中的进程

x 选项包括不链接终端的进程

u 选项显示进程所有者的信息

f 选项显示进程的父进程

k| --sort 属性 对属性 排序

o 属性…选项显示定制的信息

pid comm %cpu %mem state tty euser ruser

-C 后可跟脚本和命令


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


nice 调整优先级

 pri: priority 优先级

 psr: processor CPU 编号

 rtprio: 实时优先级

 示例:ps axo pid,cmd,psr,ni,pri,rtprio

renice –n 10 ping 127.17.0.1 指定命令优先级

Renice 修改优先级


pgrep搜索进程信息

Pgrep –lU wang 真正发起者

Pgrep –t pts/0 谁在终端上登陆

Pgrep –a “bash”


pidof按确切的程序名显示pid

Pidof bash 查看正在运行的进程编号

Ps aux |grep httpd 查看某个服务是否运行

Pidof httpd &> /dev/null ||systemctlrestart httpd


Uptime 显示启动状态

当前时间,系统已启动的时间,当前上线人数,系统平均负载(1510分钟的平均负载,一般不会超过1

系统平均负载:在特定时间间隔内运行队列中的平均进程数。

通常每个cpu内核的当前活动进程数不大于3,那么系统的性能良好。如果每个cpu内核的任务数大于5,那么此主机的性能有严重问题

如果linux主机是1个双核cpu,当load average6的时候说明机器已经被充分使用。

 top显示进程使用系统资源情况

进程_系统进程_03

top :有许多内置命令:

排序

P :以占据的CPU 百分比,%CPU

M :占据内存百分比,%MEM

T :累积占据CPU 时长,TIME+

首部信息显示

uptime 信息:l 命令

tasks cpu 信息:t 命令

cpu 分别显示:1 ( 数字)

memory 信息:m 命令

退出命令:q

修改刷新时间间隔:s

终止指定进程:k

保存文件:W

选项:

-d #: 指定刷新时间间隔,默认为3

-b: 全部显示所有进程

-n #: 刷新多少次后退出

栏位信息简介

us :用户空间

sy :内核空间

ni :调整nice 时间

id :空闲

wa :等待IO 时间

hi :硬中断

si :软中断(模式切换)

st :虚拟机偷走的时间