菜鸟笔记
提升您的技术认知

操作系统笔记

进程,线程,协程与并行,并发进程线程协程的区别死锁进程,线程,多线程i 的线程安全性同步和异步孤儿进程和僵尸进程/proc进程信息linux中的分段和分页互斥量 mutex线程进程间通信进程创建进程优先级进程的基础知识进程与线程的区别(面试题)线程的控制(创建,终止,等待,分离)可重入 vs 线程安全死锁的概念一级缓存和二级缓存的理解一句话解说内存屏障 memory barrierbrk(), sbrk() 用法详解malloc/free函数的简单实现一文讲透 “进程、线程、协程”linux进程状态线程池的陷阱linux内核学习之进程和线程进程与线程的区别和联系内存寻址linux io子系统和文件系统读写流程page cache和buffer cache的区别与联系漫谈linux文件io多线程和多进程的区别内存泄漏字节、字、位、比特的概念和关系如何避免死锁ansi是什么编码?cpu寻址范围(寻址空间)cpu 使用率低高负载的原因创建多少个线程合适操作系统下spinlock锁解析、模拟及损耗分析线程堆栈堆和栈的内存分配堆和栈的概念和区别堆和栈的区别,申请方式,程序的内存分配什么是 pod 数据类型linux内存分配小结--malloc、brk、mmap系统调用与内存管理(sbrk、brk、mmap、munmap)进程描述和控制cpu执行程序的原理编译的基本概念linux虚拟地址空间布局一个程序从源代码到可执行程序的过程程序的运行机制——cpu、内存、指令的那些事分页内存管理——虚拟地址到物理地址的转换深刻理解linux进程间通信fork之后父子进程的内存关系fork之后,子进程继承了父进程哪些内容关于协程及其锁的一些认识对协程的一点理解std::thread join和detach区别cas和aba问题cas算法锁和无锁无锁队列的实现lock-free 编程锁开销优化以及cas进程、线程和协程之间的区别和联系多线程的同步与互斥(互斥锁、条件变量、读写锁、自旋锁、信号量)linux 原来是这么管理内存的线程上下文切换怎么玩儿进程和线程通信原理cpu密集型 和 io密集型cas原理以及atomic原子类分析改变线程状态的八个方法六种进程间通信方式

进程优先级-ag真人游戏

阅读 : 1014

进程优先级

基本概念

为什么要有进程优先级?

这似乎不用过多的解释,毕竟自从多任务操作系统诞生以来,进程执行占用cpu的能力就是一个必须要可以人为控制的事情。因为有的进程相对重要,而有的进程则没那么重要。

进程优先级起作用的方式从发明以来基本没有什么变化,无论是只有一个cpu的时代,还是多核cpu时代,都是通过控制进程占用cpu时间的长短来实现的。

就是说在同一个调度周期中,优先级高的进程占用的时间长些,而优先级低的进程占用的短些。

查看系统进程

在linux或者uni系统中,用 ps -l命令则会出现下面的一系列内容


让我们认识一下几个重要的信息:

  • uid:代执行者的身份
  • pid:代表进程的代号
  • ppid:代表这个进程是由哪个进程发展衍生而来的,即父进程的代号
  • pri:代表这个进程可被执行的优先级,其值越小越早被执行
  • ni:代表进程的nice值

pri 和 ni

  • pri也还是比较好理解的,即进程的优先级,或者通俗点说就是程序被cpu执行的先后顺序,此值越小,进程的优先级别越高
  • ni表示进程可被执行的优先级修正数值
  • pri值越小越快被执行,那么加入nice值后,将会使得pri变为:pri(new)=pri(old) nice
  • 这样,当nice值为负值时候,那么该程序将会优先级将会变小,即其优先级会变高,则其越快被执行。
  • 调整进程优先级,在linux下,就是调整进程nice值
  • nice的取值范围是-20至19,一共40个级别。

pri vs ni

  • 需要强调一点的是,进程的nice值不是进程的优先级,他们不是一个概念,但是进程nice值会影响到进程的优先级变化。
  • 可以理解nice值是进程优先级的修正修正数据。

查看进程优先级的命令

用top命令更改已存在进程的nice:

  • top
  • 进入top后按 “ r ” -> 输入进程pid -> 输入nice值
网站地图