文档详情

性能调试(三)CPU性能分析.doc

发布:2018-08-27约1.04万字共9页下载文档
文本预览下载声明
1:CPU的体系结构和工作原理 2:操作系统和进程 3:衡量CPU闲忙程度的指标 4:CPU资源成为系统性能的瓶颈的征兆 5:哪些进程是占用CPU资源的大户? 6:利用SAR工具分析CPU的利用率 7:利用SAR工具分析运行进程队列长度 8:利用SAR工具分析系统调用 9:利用time命令测试某个命令和程序的执行效率 10:利用top命令查看最耗CPU资源的进程 11:利用uptime命令查看系统整体情况 12:利用GlancePlus分析系统CPU资源利用率 13:对CPU需求密集型系统的性能调试 CPU的体系结构和工作原理 我们所说的CPU一般是指微处理器,即Microprocessor,一般地,一个CPU的主要组成部分为: CPU(central processing unit) cache:cache就是高速内存,它的存取时间一般是10-20微秒(ns),这样,CPU可以在一个时钟周期内访问一次cache;而一般的内存的存取时间为80-90微秒(ns),它的大小对CPU的性能有很大的影响。 TLB(translation lookaside boffer):TLB是高速cache,它用于存放最近访问的虚拟地址和与其对应的物理地址对,这样TLB将可以把虚拟地址转换为物理地址。TLB是内存中系统转换表的一个子集;TLB通常是指向一个内存页面,而不是一个内存地址;它的大小对CPU的性能有很大的影响。 coprocessor 不同的CPU,一般有不同的时钟频率和高速缓存容量。 CPU在一次时钟周期内一般可以从高速缓存内取到一个指令并执行它。因此,从理论上说,只要CPU的主频越快,单位时间内所能执行的指令则越多。目前,有些CPU可以在一个时钟周期内执行多条指令,如PA8500可以执行4条指令。 高速缓存的大小会制约CPU的执行效率,虽然CPU主频很快,但它取不到数据,则只有空运行。因此,高速缓存的大小很重要;高速缓存又分数据高速缓存和指令高速缓存,分别存放从内存预先取来的即将执行的数据和指令单元。 虚拟寻址 一般,系统中的虚拟地址空间要比物理地址空间大得多,例如,如果系统是64位的,则理论上,它的寻址空间可以达到2的64次幂(2**64=18,447PB),但由于受费用的因素的影响,实际上的物理内存最大只有十几GB的内存。 每个进程都有自己的唯一虚拟地址空间,然而,进程的运行必须把虚拟地址映射到物理地址,这需要TLB、高速缓存和内存三者的配合。如果需要的信息不在内存,则导致一个页面错。 流水线(Pipelining) TLB和高速缓存试图在一个时钟周期内给CPU提供它所需的信息,然而,这个过程是100%的利用率,对CPU来说,它必须先用一个时钟周期去取下一个指令,再一个时钟周期去执行这条指令,这样,CPU的利用率也只有50%。为了让CPU更忙,通常的做法是,采用流水线的方法。如PA8500是采用7个步骤的流水线。 操作系统和进程 HP-UX一个多用户、多任务的UNIX操作系统。它的性能依赖于用户数的多少、用户任务的类型、硬/软件件的配置。 HP-UX有两种运行级别: 用户级:系统用户可以与操作系统进行交互操作,如运行应用和系统命令。用户级通过系统调用接口访问内核级。 内核级:操作系统自动运行一些功能,它们主要对硬件进行操作。 在操作系统中,用户程序是以进程方式运行。进程的状态有以下几种: SRUN SSLEEP SZOMB SIDL SSTOP CPU的调度 一旦进程所需的数据调入内存后,它将等待CPU调度者来分配CPU时间。一般,在HP-UX中,每个进程都可以得一个 固定的时间片来运行,这个时间片的长度为十分之一秒(1/10秒)。 由于HP-UX是一个多任务的操作系统,它需要一种手段来进程的执行次序,这就是中断。在系统中,时钟中断处理器是用来处理时钟中断的系统软件。具体地说, 它将收集系统和accounting statistics and does context switching.系统性能也与这种中断发生的频率有关。 进程何优先级 每个进程都有自己的优先级; 实时优先级:-32~127,一个进程如果想以实时优先级运行,则必须用命令#rtprio来设置; 分时系统优先级:128~177; 分时用户优先级:178~251; 优先级:252~255 are used by the system as virtual memory management priorities for process deactivation. 分时进程在初始优先级是由系统分配的,为一个定值。用户可以通过改变进程的nice值来改变分时进程的优先
显示全部
相似文档