linux系统调优的进程管理
原创
©著作权归作者所有:来自51CTO博客作者19ji89ng的原创作品,请联系作者获取转载授权,否则将追究法律责任
深入理解linux系统:
驱动工作在内核,没有做进内核,程序,
kernel功能:
进程管理
内存管理
文件系统
I/O
中断
kernel的进程管理:
进程是一个在cpu上运行的实例,独立占用资源,实现资源分配(cpu时间
、内存,打开文件 ),
单个cpu同时只能分配一个实例,为了解决问题,需要进程进行
分配
进程描述符pid,描述系统运行的进程数据结构,内核中占1.7k
任务列表保存所有的pid 双向循环列表
进程状态:
就绪态(R) 运行态(R) 停止态(T) 睡眠态 (S) 僵死态(Z)
睡眠态又分为: 可以中断的睡眠 :发信号可以唤醒进程
不可中断的睡眠:
停止态(T):SIGSTOP信号, 瞬间的,可以回到就绪态
僵死态:进程中断时有其父进帮助收回资源,这中间的过程就是僵死态
;父进程发送wait4()或waitpid()帮助收回
父进程不帮助收回也是僵死态
父进程先于子进程中断,一般要把子进程重新
僵死态分为: 发起信号就可以唤醒 和进程本身醒来否则不会被唤醒
父进程发起fork()产生子进程,设置新的pid,与父进程共享同一个地址
空间 ,当子进程需要修改数据,
父进程会马上为其创建地址空间,该过程称为copy on write,当子进程
完成后exit,由父进程帮其收回
线程:比进程更小的执行单位,轻量级的进程LWP,单进程可发起多线程
进线程的不同 :
线程的创建和销毁比进程快
线程不独占资源
linux支持的线程类型:
linux threads:linux自带的
Native POSIX thread library:NPTL ,posix规范标准
库 编程接口
NGPT
环境变量 LD_ASSUME_KERNEL 查看当前系统的线程类型
windows和linux是真正支持线程的系统
上下文切换context switch:动作
kernel能将正在cpu执行的进程能够挂起,必要的时候将挂起的进程再重
新启动
挂起的进程会保存在内核模式站KMS cpu的寄存器
上下文的切换来保证系统的多任务
进程内存段:
地址的分为: 物理地址 虚拟地址
32为的系统上,进程使用的内存大小最多不超过4G(虚拟内存)
32位有PAE机制可支持64G的内存,最大使用为16G ,进程最多使用4G,实
际为3G
每个进程都有自己的虚拟空间,都为3G
进程地址空间:低地址空间3G 高地址空间1G: 内核
进程地址空间的四段:
代码段 text:只读的
数据段 data :初始化为0
堆段heap:调用malloc()函数,实现动态分配地址,
栈段:本地变量 函数, 实现高向低地址转换
多任务:实现进程调度:
调度方式:
协作式的调度 :自愿交出
抢占式任务调度:调度器scheduler:管理进程的抢占方式
调度器使用的算法:查找时间 O标准 n为队列长度
分为: O(1)
O(Log n) 比O(1)的时间稍长
O(n)
O(n的2次方)
O(2的n次方)
调度器类别:
先进先出的实时调度器:SCHED_FIFO 只调度0-99的
轮调实时调度器:SCHED_RR 只调度0-99的,优先级没有FIFO高
SCHED_NORMAL :调度静态的100-139 ,时间共享的 普通的进程
,也称为SCHED_OTHER
调度器提供策略:
尽可能快的相应进程
大的后台进程吞吐率
避免进程饥饿
低的需要
满足高优先级的进程
进程调度:
基于时间共享:多路复用
基于优先级
进程优先级分为:
静态的:标识 100-139 越小越高,
动态的 :0-99 实时的,越小越高,可调整
调整优先级nice,静态的
调整进程优先级:让出自己的优先级,值越小优先级越高
nice值(-20到19)与动态进程相符100--139:
普通用户Nice值只能调高不能调低,root都可以
nice值的调整有两种:
1 在系统启动时就调整# nice -n 3 bash(进程名)默
认都为0对应120
2 调整已经启动的进程 # renice 数字 进程号
renice 0 8669
上一篇:vsftp的虚拟用户配置
下一篇:linux系统调优的内存管理
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Linux系统性能调优技巧
本文简要介绍了Linux系统性能调优的一些技巧。
文件系统 缓存 页面缓存 -
linux系统调优的I/O管理 内存管理 进程管理
I/O设备: I/O总线:连接cpu和I/O设备的 组成:  
linux 内存管理 调优 进程管理 I/O管理 -
linux系统调优的内存管理
逻辑地址空间: linux线性地址空间:虚拟页page:存放页的 4k 数据结构,描述每一个页所对应的叶框的位置,不至 &nbs
linux 职场 休闲 内存管理 系统调优 -
linux系统调优的I/O管理
I/O和I/O端口:65536多个端口 用户进程执行的动作: &nb
linux I/O 休闲 I/O管理 系统调优