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

进程管理

时间:2015-09-01 16:58:58      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:进程管理

VSZ:虚拟内存集

rss:常驻内存集,位于物理内存中,但不能被交换出去

多进程模型:来一个用户,就给他一个进程

多线程模型:一个用户来访问,就给这个进程里给他分配一个线程

##########################################################

进程状态:

      Stopped 已经停止的,再也不会去CPU上运行的

      Ready   就绪,排队等待执行 

      Executing 正在运行的

      Uninterruptible 运行当中因为别的需要转入睡眠状态,不可中断,需要调用I/O,释放CPU

      Interruptible运行当中因为别的需要转入睡眠状态,可中断睡眠

      Zombie 僵尸进程,结束了但不释放内存,内存泄漏的表现

###########################################################

所有进程都是一个进程的子进程: 

      init:上帝  它的进程号为 1

/proc  以数字(就是PID号)命名的目录;每一个目录对应一个进程

    

ps   查询跟终端相关或者无关的进程

  SysV风格:带横线

  BSD风格 :不带横线

  a:  所有与终端有关的进程

  u:  显示

  x:  所有跟终端无关的进程

ps aux | head   查看前十行 (注释)  BSD风格   最常用

USER           PID     %CPU           %MEM             VSZ  

启动进程用户  进程ID号 占用时间百分比 占物理内存百分比 虚拟内存集

RSS        TTY              STAT     START    TIME   

常驻内存集 跟哪个终端相关联 进程状态 启动时间 占用CPU时长

COMMAND

哪个命令启动的进程 如果加了中括号表示内核线程 不加中括号表示用户进程

ps -o PID 可以指定显示某些字段

ps -elf | head 

PRI 优先级

PSR 上次运行在哪颗CPU上

pstree

top 动态监控进程 

1、当前时间 2、启动后已经运行的时长 3、登录的用户 4、平均负载 

5、平均队列长度,过去1分钟5分钟15分钟平均值,值越小CPU负载越低

6、Tasks:所有进程的相关信息;进程数量、有几个处于运行状态、有几个是睡眠的、几个停止

7、Cpus:每一个cpu的负载情况 us表示用户空间、sy内核空间占据的百分比、ni因为调整nice值所占据的空间的比例、id空闲百分比、wa等待i/o完成所占据的时间、hi硬件终端占据的时间、

8、si软中断所占据的时间、st被偷走的时间

9、内存和交换空间的使用量、剩余量

10、PR:优先级;RT:表示实时优先级

11、VIRT:虚拟内存集

12、RES:常驻内存集

13、SHR:共享内存大小

14、S:表示状态

15、%CPU:cpu占用率

16、%MEM:内存百分比

17、TIME:运行时长,真正占用CPU的时长

18、COMMADN:进程名


执行top后

直接敲M: 可以查看谁占用的内存大

P:返回查看占用CPU大小

T:累计看谁占用CPU的时间长

ltm:直接敲决定是否显示1-18

k:输入进程号可以杀死某个进程

*****************************************************

进程间通信:(IPC:Inter Process Communication)

  共享内存:

   信号:

   semaphore:旗语

  kill -l 显示所有可用的信号  

(1号 SIGUP  让一个进程不用重启,就可以重读其配置文件,并让新的配置文件信息生效

 2号SIGINT      CTRL+c 中止

 9号SIGKILL     杀死一个进程,强行杀死。

 15号 SIGTERM) 终止一个进程,枪毙你但是可以交代后事

############

指定一个信号

kill -1

kill -SIGKILL

信号名称简写 kill -KILL

######################

咱们现在想杀死top进程

ps aux | grep top 

kill + PID进程号号 默认是第15个信号

######################

咱们现在想杀死一堆httpd进程

killall httpd

####################3

调整nice值;即调整进程优先级

调整已经启动的进程的nice值

renice ni pid   ni值越高优先级越低

#######################

fg  可以还原CTRL+z的后台进程

jobs 查看CTRL+z 之后出现的作业号,有+号的表示下次默认操作的作业;-号表示第二个默认操作的作业

kill + %作业号 可以杀死 某个CTRL+Z后的作业

*****************************************************

进程的分类:

      跟终端相关的进程:某个主机启动的进程    

      跟终端无关的进程:在内核启动的进程 

********************

vmstat 1:系统状态查看命令

procs: r 运行队列长度;b阻塞队列长度

swpd:交换大小

free:空闲内存

buff:用于缓冲的

cache:用于缓存的

si:swapin   从物理到swap有多少个页面换进换出,它是动态的

so:

bi:有多少个磁盘块被调入内存,他是动态的

bo:

in:中断的个数

cs:上下文切换的次数  即进程切换的次数

us:用户控件占用的百分比

id:内核控件占用的百分比

cat /proc/meminfo 查看内存信息

  

#####################

进程状态:STAT    

    D:不可中断的睡眠

    R:运行或就绪

    S:可中断的睡眠

    T:停止

    Z: 僵尸

    <:高优先级进程

    N:低优先级进程

    +:前台进程组中的进程(从命令行输入的进程)

    l:多线程进程

    s:回话进程的首进程  子进程的父进程


    

    

#####################################

优先级:  

用户可调的优先级值是100 - 139

   调整nice值:

        -20 — 19   对应100 — 139       




进程管理

标签:进程管理

原文地址:http://10183596.blog.51cto.com/10173596/1690515

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