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

9月17日 进程管理,作业管理

时间:2015-09-23 01:20:17      阅读:331      评论:0      收藏:0      [点我收藏+]

标签:应用程序   空间   风格   主机   

进程,运行中的程序,运行在自己的线性地址空间中

程序:指令加数据组成

32位主机上,1G内核使用,其余归应用程序使用

32位主机CPU能同时处理32位数据,也就是2的32次幂个地址空间,相当于4g个地址空间,所以32位主机最多能支持4g内存。

 

BSD风格的命令不需要加-,例如ps

SysV风格的都需要加-

 

fork()系统调用

任何进程的想要创建自己子进程时,需要发起fork调用,能创建和自己一样,地址空间也一样的child

Cow机制:Copy on Writting

父进程和子进程共享同一个地址空间,当任何一方的值需要变动时,就认为子进程已经成熟,父进程会为其创造其独立的地址空间

进程挂起:每次尚未处理完,产生的结果会存储到 task struck中。

 

进程优先级:0-139

1-99:动态优先级:数字越大优先级越高

100-139:静态优先级,数字越小,优先级越高

进程分类:

CPU bound:CPU密集型

I/O bound:密集型

进程的状态

R   运行态:running

睡眠态:sleeping

         S   可中断睡眠:interruptible

         D   不可中断睡眠:uninterruptible

就绪态:runnable

T   停止态:stopped,不可被调度运行

Z   僵死态:zombie,父进程死了还没释放它

 

s :session leader

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

l :多线程进程

< :高优先级进程

N :低优先级进程

 

linux是LWP: Light WEight Process

对linux而言,进程就是线程,线程就是进程。

 

进程查看及管理工具:top,pstree,ps,pidof,pgrep,pkill,htop,glances,pmap,dstat,iostat,sar,kill,job,bg,fg

 

pstree:-p能显示进程id

技术分享

ps:process stat

技术分享

User:属主,

PID:进程ID

%cpu:占CPU的百分比

%MEM:占内存的百分比

VSZ:虚拟内存集:线性地址空间占用的空间大小

RSS:常驻内存集:不可以被交换至SWAP空间的数据占空间的大小

TTY:终端

STAT:进程状态,上面写了

START:启动时间

TIME:累积时长

COMMAND:由哪个命令启动的,[]表示内核线程

 

常用格式:

aux:a与终端相关,x与终端无关,u以用户为中心

-ef:e:显示所有信息,f丰富格式信息

-eFH:F显示额外信息,H显示层级关系,查看父子进程关系

axo:自定义需要显示的信息,o:自定义字段

技术分享

 

pgrep:用来过滤进程

-U:仅显示指定用户身份运行的进程

-l:显示进程名

技术分享

 

pidof:显示某个程序所占据的进程号

技术分享

 

top:动态显示第一行和uptime一样,

参数

-b:batch:分批次显示

-n:指定显示几次

-d:延时时间间隔

操作命令

P按CPU占据百分比排序,

M按内存,

T按CPU累积占用时间

 

l:是否显示负载行,

t是否显示摘要和CPU负载

m是否显示内存信息

q:退出

s:修改延时时常,默认是3s

k:终止指定进程

技术分享

1、top:当前系统时间:运行时常:当前登入系统用户数量:负载状态(过去1分钟,5分钟,15分钟的负载,cpu上等待运行的队列长度)

2、tasks:进程数:

3、cpus,按1键显示每个cpu的状态:

运行空间cpu比例userspace,内核代码cpu比例system,nice值百分比,空闲百分比idel,等待io完成的百分比wait,硬件中断处理百分比hardwareinterface,软件中断处理百分比softwareinterface,被虚拟化偷走的时间stolen

4、swap:虚拟内存所有空间,已用空间,空闲空间

技术分享

PR:优先级

NI:nice值

VIRT:虚拟内存集

RES:常驻内存集

SHR:共享内存空间

S:状态

%CPU:占据CPU百分比

%MEM:占据内存百分比

TIME:累积运行时常

COMMAND:启动命令

htop:

需要配置yum源

技术分享

技术分享 

用法

u只显示指定用户的进程

s跟踪进程发起的系统调用,esc退出

l显示进程打开的文档

t:层次结果显示

a设定继承的CPU亲缘性

参数:

-d #:延时

-u:user

-s:根据字段排序

vmstat:

delay count

技术分享

r运行队列长度

b阻塞队列长度

si:数据进入swap的速率kbps

so数据离开swap的速率kbps

bi块设备读取速率kbps

bo保存到块设备的速率kbps

in中断速率kbps

cs进程切换速率kbps

技术分享

 

/proc/#接口

技术分享

 

pmap 1

技术分享

glances支持cs架构

技术分享

dstat功能强大的很技术分享

技术分享

常用用法

--top-cpu,显示最占cpu的信息

--top-bio,显示最小号blockio的进程

--top-io

--top-mem

--ipc显示进程间通信的相关数据

--raw显示raw套装的相关数据

--tcp显示tcp套接字的相关数据

--udp显示udp套接字的相关数据

--unix

--socket

进程间通信:

signal:短小信息,可以man 7 signal或 kill -l查看

技术分享

1是重读配置文件

信号可以这样写:

1、全写SIGINT

2、简写INT

3、标号15

向进程发信号:

kill 信号 进程号

技术分享

killall httpd 程序名可以关闭一组

技术分享

要加个d,不然找不到

 

作业管理

前台:终端启动

后台:作业启动时与终端无关,或在前台启动后挂到后台继续与终端无关

已启动时:ctrl z送到后台

未启动时:可以     命令 &     让命令启动在后台,进去了就会stopped

剥离进程和终端的关系:

# nohup 命令  &

 

jobs可以查看后台的作业:+表示第一个出来,-表示第二个出来

fg 2可以调前台回来

技术分享

bg:把调往后台的指定作业启动起来,让它在后台运行

kill %#终止指定作业

 

进程优先级调整:

用nice值调整:只可以调大,优先级调小

nice值:   -20,19

优先级:   100,139

尚未启动的进程:

nice –n N 命令

对已经启动的进程:

renice –n N PID

技术分享

9月17日 进程管理,作业管理

标签:应用程序   空间   风格   主机   

原文地址:http://korekara.blog.51cto.com/8206017/1697264

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