操作系统及系统性能核心术语

1. 操作系统核心术语


名称解释
操作系统这是指的是安装在系统上的软件和文件,使得系统可以启动和运行程序。操作系统包括内核、管理工具,以及系统库
内核内核是管理系统的程序,包括设备(硬件)、内存和CPU调度。它运行在CPU的特权模式,允许直接访问硬件,称为内核态。
进程是一个OS的抽象概念,是用来执行程序的环境。程序通常运行在用户模式,通过系统调用或自陷来进入内核模式(例如,执行设备I/O)。
线程可被调试的运行在CPU上的可执行上下文。内核有多个线程,一个进程有一个或多个线程。
任务一个Linux的可运行实体,可以指一个进程(含有单个线程),或一个多线程的进程里的一个线程,或者内核线程。
内核空间内核的内存地址空间。
用户空间进程的内存地址空间。
用户程序用户级别的程序和库(/usr/bin、/usr/lib......)。
上下文切换内核程序切换CPU让其在不同的地址空间上做操作(上下文)。
系统调用一套定义明确的协议,为用户程序请求内核执行特权操作,包括设备I/O。
处理器不要与进程混淆,处理器是包含一颗或多颗CPU的物理芯片。
自陷信号发送到内核,请求执行一段系统程序(特权操作)。自陷类型包括系统调用、处理器异常,以及中断。
中断由物理设备发送给内核的信号,通常是请求I/O服务。中断是自陷的一种类型。
用函数和寄存器的方式记录线程的执行历史,包括用户栈和内核栈。
应用程序的临时工作内存并且是匿名内存(无文件系统位置)。它按需增长并且用malloc()分配。
并发分时系统支持程序的并发:装载和开始执行多个可运行程序的能力。虽然它们的运行时间是重叠的,但并不一定在同一瞬间都在CPU上执行。可以并发执行不同的应用程序,包括程序内的函数。这可以用多进程(multiprocess)或者多线程(multithreaded)实现,每个进程/线程都执行自己的任务。
并行为了利用多处理器系统的优势,应用程序需要在同一时间运行在多颗CPU上。这称为并行,应用程序通过多进程或多线程实现。
主存也称为物理内存,描述了计算机的高速数据存储区域,通常是动态随机访问内存(DRAM)。这是一种易失性的内存——它存储的内容在断电时会丢失。RSS显示主存使用,它也包括如系统库在内的映射共享段。
多通道系统架构可能支持并行使用多个内存总线来增加带宽。常见的倍数为双、三或者四通道。
CPU缓存处理器会在芯片中包含硬件缓存以提高内存访问性能。L1:通常分为指令缓存和数据缓存。L2:同时缓存指令和数据。L3:更大一级的缓存。一级缓存通常按虚拟内存地址空间寻址,二级及以上按物理内存地址寻址,具体取决于处理器。
MMU内存管理单元(MMU)负责虚拟到物理地址的转换。它按页做转换,而页内的偏移量则直接映射。
虚拟内存主存的抽象,提供进程和内核,支持多任务处理,允许进程和内核在它们自己的私有地址空间做操作而不用担心任何竞争。并且可以超额订购,即使用中的内存可以超出主内存的容量。
常驻内存当前处于主存中的内存。
匿名内存无文件系统位置或者路径名的内存。它包括进程地址空间的工作数据,称作堆。
地址空间内存上下文。每个进程和内核都有对应的虚拟地址空间。由硬件和软件同时管理,按需映射到物理页。
标记为特殊用途的一块内存区域,例如用来存储可执行或者可写的页。
OOM内存耗尽,内核检测到可用内存低。内存耗尽终结者搜索并杀死可牺牲的进程以释放内存,采用select_band_process()搜索而后用oom_kill_process()杀死进程。在系统日志(/var/log/messages)中以“Out of memory:Kill process”表现。或者从dmesg中找到。
操作系统和CPU使用的内存单位。它一直以来是4KB或者8KB。现代的处理器允许多种页大小以支持更大的页面尺寸。
缺页无效的内存访问。使用按需虚拟内存时,这是正常事件。
换页在主存与存储设备间交换页。即将页面的换入和调出主存。换页是精确管理和释放主存的手段,包括文件系统换页(“好的”换页)和匿名换页(“坏的”换页)
交换源自UNIX,指将整个进程从主存转移到交换设备。Linux中交换指页面转移到交换设备(迁移交换页)。交换严重影响性能,因为已交换出的进程需要许多磁盘I/O才能重新运行。守护进程(kswapd)执行换页。它扫描非活动和活动内存的LRU(最近最少被使用)页列表以释放页面。
交换空间存放换页的匿名数据和交换进程的磁盘空间。它可以是存储设备的一块空间,也称为物理交换设备,或者是文件系统文件,称作交换文件。不是指虚拟内存。
内存映射使用mmap()和munmap(),它们会归还内存到系统。
内存泄漏一种类型的软件bug,忘记分配过的内存而没有释放。通过修改软件代码,或应用补丁及进行升级(进而修改代码)能修复。
文件系统一种把数据组织成文件和目录的存储方式,提供了基于文件的存取接口,并通过文件权限控制访问。另外,还包括一些表示设备、套接字和管道的特殊文件类型,以及包含文件访问时间戳的元数据。
I/O输入/输出。文件系统I/O有好几种定义,这里仅仅指直接读写(执行I/O)的操作,包括read()、write()、stat()(读的统计信息)和mkdir()(创建一个新的目录项)。I/O不包括open()和close()。
逻辑I/O由应用程序发给文件系统的I/O。
物理I/O由文件系统直接发给磁盘的I/O(或者通过裸I/O)。
inode一个索引节点(inode)是一种含有文件系统对象元数据的数据结构,其中有访问权限、时间戳以及数据指针。
VFS虚拟文件系统,一个为了抽象与支持不同文件系统类型的内核接口。
卷管理器灵活管理物理存储设备的软件,在设备上创建虚拟卷供操作系统使用。
接口术语“接口端口”,interface port,指网络物理连接器。术语“接口”或者“连接”指操作系统可见并且配置的网络接口端口的逻辑实例。
数据包通常指IP级可路由的报文。
一个物理网络级的报文,例如以太网帧。
带宽对应网络类型的最大数据传输率,通常以b/s为单位测量。10GbE是带宽10Gb/s的以太网。
网络吞吐当前两个网络端点之间的数据传输率,以b/s或者B/s为单位测量。
网络延时网络延时指一个报文往返端点所需的时间,或者指建立连接所需要的时间(例如TCP握手),不包括之后的数据传输时间。


 

2. 系统性能关键术语


名称解释
IOPS每秒发生的输入/输出操作的次数,是数据传输的一个度量方法。对于磁盘的读写,IOPS指的是每秒读和写的次数。
吞吐量评价工作执行的速率,尤其是在数据传输方面,这个术语用于描述数据传输速度(字节/秒或比特/秒)。在某些情况下(如数据库),吞吐量指的是操作的速度(每秒操作数或每秒业务数)
响应时间一次操作完成的时间。包括用于等待和服务的时间,也包括用来返回结果的时间。
延时延时是描述操作里用来等待服务的时间。在某些情况下,它可以指的是整个操作时间,等同于响应时间。
使用率在一定时间间隔内,忙于处理请求的线程平均数目。对于服务所请求的资源,使用率描述在所给定的时间区间内资源的繁忙程序。对于存储资源来说,使用率指的就是所消耗的存储容量(例如,内存使用率)。例如,50%意味着,平均下来,一半的线程在忙于请求的工作。
饱和度在一定时间间隔内,请求队列的平均长度。指的是某一资源无法满足服务的排队工作量。这显示出等待工作线程的有多少个请求。
瓶颈在系统性能里,瓶颈指的是限制系统性能的那个资源。分辨和移除系统瓶颈是系统性能的一项重要工作。
工作负载系统的输入或者是对系统所施加的负载叫做工作负载。对于数据库来说,工作负载就是客户端发出的数据库请求和命令。
缓存用于复制或者缓冲一定量数据的高速存储区域,目的是为了避免对较慢的存储层级的直接访问,从而提高性能。出于经济考虑,缓存区的容量要比更慢一级的存储容量要小。
错误出于某种原因,请求被拒绝或失败


 

3. 应用程序性能方法


方法类型
线程状态分析观测分析
CPU剖析观测分析
系统调用分析观测分析
I/O剖析观测分析
工作负载特征归纳观测分析,容易分析
USE方法观测分析
向下挖掘分析法观测分析
锁分析观测分析
静态性能调优观测分析,调优
                                                                                       ▼通用性能分析及调整的方法和步骤
anzhihe 安志合个人博客,版权所有 丨 如未注明,均为原创 丨 转载请注明转自:https://chegva.com/3379.html | ☆★★每天进步一点点,加油!★★☆ | 

您可能还感兴趣的文章!

发表评论

电子邮件地址不会被公开。 必填项已用*标注