Linux性能优化 第四章 性能工具:特定进程CPU
4.1进程性能统计信息
4.1.1. 内核时间VS用户时间
一个应用程序所耗时间最基本的划分是内核时间与用户时间。内核时间是消耗在Linux内核上的时间,而用户时间则是消耗在应用程序或库代码上的时间。Linux有工具,如time和ps,可以(大致)表明应用程序将其时间花费在应用程序代码上还是话费在内核代码上。
4.1.2 库时间VS应用程序时间
任何应用程序,即便其复杂性非常低,也需要依赖系统库才能执行复杂的操作。这些库可能导致性能问题,因此,能够查看应用程序在某个库中花费了多少时间很重要了。在库被应用程序使用时,ltrace命令和oprofile工具包提供了分析库性能的途径。Linux加载器ld的内置工具帮助你确定使用多少个库是否会减慢应用程序的启动时间。
4.2工具
4.2.1 time
time命令完成一项基本功能,当需要测试一条命令的性能时,通常会首先运行它。time命令如同秒表一样,可以测量命令执行的时间。
4.2.2 strace
starce是当程序执行时,追踪其发起的系统调用工具。系统调用是由或代表一个应用程序进行的Linux内核函数调用。strace可以展示准确的系统调用,它在确定应用程序是如何使用Linux内核方面是相当有用的。在分析大型程序或你完全不懂的程序时,跟踪系统调用的频率和长度是特别有价值的。通过查看strace的输出,你可以了解应用程序如何使用内核,以及它依赖什么类型的函数。
语法
strace [-c] [-p pid] [-o file] [--help] [command [arg …]] |
strace命令行选项
选项 |
说明 |
-c |
打印出统计信息的概要,而非所有系统调用的独立列表 |
-p pid |
将给定PID添加到进程,并开始跟踪 |
-o file |
输出保存到file文件里面 |
与CPU相关的strace输出
%time |
对全部系统调用的总时间来说,该项为这一个系统调用所花时间的百分比 |
second |
这一个系统调用所花费的总秒数 |
calls |
这个类型的所有调用的总数 |
4.2.3 ltrace
ltrace与strace的概念相似,但它跟踪的是应用程序对库的调用而不是对内核的调用。虽然ltrace主要用于提供对库调用的参数和返回值的精确跟踪,但是你也可以用它来汇总每个调用所花的时间。这使得你既可以发现应用程序有哪些调用,又可以发现每个调用时间是多长。
4.2.4 ps(进程状态)
ps能给出运行进程的详细的静态和动态统计信息。ps提供静态信息包括命令名和PID,动态信息保存内存和CPU的当前使用情况。
ps命令行选项
etime |
统计信息:经过时间是指从程序开始执行耗费的总的时间 |
time |
统计信息:CPU时间是指进程运行于CPU所话费的系统时间加上用户时间 |
pcpu |
统计信息:进程当前消耗的CPU百分比 |
cmd |
统计信息:命令名 |
Linux性能优化 第四章 性能工具:特定进程CPU的更多相关文章
- Linux性能优化 第七章 性能工具:网络
7.1 网络I/O介绍 Linux和其他主流操作系统中的网络流量被抽象为一系列的硬件和软件层次. 链路层,也就是最低的一层,包含网络硬件,如以太网设备.在传送网络流量时,这一层并不区分流量类型,而仅仅 ...
- Linux性能优化 第五章 性能工具:特定进程内存
5.1 Linux内存子系统 在诊断内存性能问题的时候,也许有必要观察应用程序在内存子系统的不同层次上是怎样执行的.在顶层,操作系统决定如何利用交换内存和物理内存.它决定应用程序的哪一块地址空间将被放 ...
- Linux性能优化 第六章 性能工具:磁盘I/O
6.1 磁盘I/O介绍 一般来说,Linux磁盘的每个分区要么包含一个文件系统,要么包含一个交换分区.这些分区被挂载到Linux根文件系统,该系统由/etc/fstab指定.这些被挂载的文件系统包含了 ...
- Linux性能优化 第三章 性能工具:系统内存
3.1内存性能统计信息 3.1.1 内存子系统和性能 和CPU相比,内存的读写速度都大大落后于CPU.为了弥补这个差距,通常CPU会采用高速缓存的机制(高cache). 3.1.2 内存子系统(虚拟存 ...
- Linux内核分析第四章 读书笔记
Linux内核分析第四章 读书笔记 第一部分--进程调度 进程调度:操作系统规定下的进程选取模式 面临问题:多任务选择问题 多任务操作系统就是能同时并发地交互执行多个进程的操作系统,在单处理器机器上这 ...
- 《Linux 性能优化实战—倪朋飞 》学习笔记 CPU 篇
平均负载 指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,即平均活跃进程数 可运行状态:正在使用CPU或者正在等待CPU 的进程,也就是我们常用 ps 命令看到的,处于 R 状态 (Run ...
- 性能优化系列四:Tomcat优化
一.Tomcat工作原理 1. TCP的三次握手四次挥手 三次握手: 说明: 类比于A和B打电话: A对B说:你好,我是A,你能听到我说话吗? B对A说:嗯,我能听到你说话 A对B说:好,那我们开始聊 ...
- ASP.NET MVC之如何看待内置配置来提高性能优化(四)
前言 前几篇我们比较基础的讲了下MVC中的知识,这一节我们穿插点知识,讲讲MVC中我们可以提高性能的办法. Razor视图引擎优化(优化一) 我们知道默认情况下配置MVC去解析一个视图会首先约定通过查 ...
- MySQL之查询性能优化(四)
优化特定类型的查询 COUNT()的作用 COUNT()是一个特殊函数,有两个非常不同的作用:它可以统计某个列值的数量,也可以统计行数.在统计列值时要求列值是非空的(不统计NULL). 如果在COUN ...
随机推荐
- ThreadLocal使用注意
ThreadLocal<T>的出现是一种空间换时间的思想的运用,是为了多线程环境下单线程内变量共享的问题.它的原理就是每个线程通过ThreadLocal.ThreadLocalMap,保存 ...
- mysql之 openark-kit online ddl
MySQL工具集openark-kit (官方网站 http://code.openark.org/forge/openark-kit),内部包含很多小工具,在5.6之前用于实现online ddl操 ...
- dva 知识点
dva中,路由模式从hashHistory换成 browserHistory: dva-cli创建的项目中,src/index.js相应部分修改如下: import browserHistory fr ...
- 禁用 linux的 密码登陆
如果我们只允许 证书登陆 不允许密码登陆. 首先配置证书的例子,我的上一篇文章有些. 然后,禁用 密码登陆. vi /etc/ssh/sshd_config 修改 PasswordAuthentica ...
- WORD 的 Open 和Workbook 的 LoadFromFile 函数返回null的一种解决方法
WORD Application.Documents.Open 和 Workbook workbookExcel.LoadFromFile 函数返回null的一种解决方法 DCOM Config Se ...
- Linux lsattr命令详解
Linux lsattr命令 Linux lsattr命令用于显示文件属性. 用chattr执行改变文件或目录的属性,可执行lsattr指令查询其属性 用法: lsattr [-adlRvV][文件或 ...
- Visual Studio 2010 出现关于ActivityLog.xml错误的解决方案
在用VS编写程序是第一次会跳出“Visual Studio has encountered an exception.This may be caused by an extension. You c ...
- 虚拟机ubuntu新增挂载点进行磁盘扩展
参考: http://m.blog.csdn.net/blog/pcsxk/38501579 一.vmware下扩展原来的磁盘空间 这个比较直观 1.关机状态下,选择磁盘->实用工具->扩 ...
- 【java】数据类型
逻辑型boolean: boolean类型数据只能取值True或False,不可以0或者非0替代True或False,这点与c语言不同. 字符型char: 一个char类型的字符占两个字节.一个汉字也 ...
- Java第08次实验提纲(多线程)
PTA与参考资料 题集:多线程 多线程实验参考文件 ThreadReading 实验-基础部分 基础题目MyThread类.PrintTask(讲解线程Thread与任务Runnable相分离的概念) ...