墙上时钟时间 ,用户cpu时间 ,系统cpu时间

一、 墙上时钟时间 ,用户cpu时间 ,系统cpu时间定义与联系

时钟时间(墙上时钟时间wall clock time):从进程从开始运行到结束,时钟走过的时间,这其中包含了进程在阻塞和等待状态的时间。

用户CPU时间:就是用户的进程获得了CPU资源以后,在用户态执行的时间。

系统CPU时间:用户进程获得了CPU资源以后,在内核态的执行时间。

进程的三种状态为阻塞、就绪、运行。

时钟时间
= 阻塞时间 + 就绪时间 +运行时间

用户CPU时间
= 运行状态下用户空间的时间

系统CPU时间
=  运行状态下系统空间的时间。

用户CPU时间+系统CPU时间=运行时间。

注意:

其中,用户CPU时间和系统CPU时间之和为CPU时间,即命令占用CPU执行的时间总和。实际时间要大于CPU时间,因为Linux是多任务操作系统,往往在执行一条命令时,系统还要处理其它任务。

另一个需要注意的问题是即使每次执行相同命令,但所花费的时间也是不一样,其花费时间是与系统运行相关的。

在多核处理器机器上,若进程含有多个线程或通过fork调用创建子进程,则实际时间可能小于CPU总时间——因为不同线程或进程可并行执行,但其时间会计入主进程的CPU总时间。若程序在某段时间处于等待状态而并未执行,则实际时间可能大于CPU总时间。其数值关系总结如下:

  • Real < CPU,表明进程为计算密集型(CPU bound),利用多核处理器的并行执行优势;
  • Real ≈ CPU,表明进程为计算密集型(CPU bound),未并行执行;
  • Real > CPU,表明进程为I/O密集型(I/O bound),多核并行执行优势并不明显。

在单核处理器上,Real时间和CPU时间之差,即Real- (User + Sys)是所有延迟程序执行的因素的总和。可估算程序运行期间的CPU利用率为CpuUsage = (User + Sys)/ Real * 100(%)。

在SMP(对称多处理系统)上,该差值近似为Real* ProcessorNum - (User + Sys)。这些因素包括:

  • 调入程序文本和数据的I/O操作;
  • 获取程序实际使用内存的I/O操作;
  • 由其它程序消耗的CPU用时;
  • 由操作系统消耗的CPU用时。

二、实例

    [email protected]:~/temp$ time  ./test
    sdga
    s   d   g   a
     //上面是测试test程序的
    real    0m4.019s                     //时钟时间
    user    0m0.004s           //用户CPU时间
    sys 0m0.000s                   //系统CPU时间  

三、参考文献

http://os.51cto.com/art/201407/445853.htm (说得很详细,值得看一下)

http://blog.chinaunix.net/uid-27629574-id-3880991.html

http://blog.csdn.net/fjt19900921/article/details/8301230

时间: 2024-10-20 07:07:43

墙上时钟时间 ,用户cpu时间 ,系统cpu时间的相关文章

linux 时钟时间,用户CPU时间,系统CPU时间 .

之前看过几次这几个的概念,但还是老是记不住,干脆就直接写下来,以后方便看~ 所谓的时钟时间又叫做墙上时钟时间,它是进程运行的时钟总量,其值与系统中同时运行的进程数有关,不过一般在讨论时钟时间的时候都是在系统中没有其他活动进行时度量的. 用户cpu时间:就是执行用户指令所用的时间. 系统CPU时间:  所谓的系统,我们知道就是在内核中执行的时间,没错滴,就是该进程执行内核程序所经历的时间. 查看一个进程的这三个时间并不难,只要执行命令time 即可,如: [email protected]:~/t

linux系统cpu和内存占用率

1.top 使用权限:所有使用者 使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b] 说明:即时显示process的动态 d :改变显示的更新速度,或是在交谈式指令列( interactive command)按s q :没有任何延迟的显示速度,如果使用者是有superuser的权限,则top将会以最高的优先序执行 c :切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S :累积模式,会将己完成或消失的子行程( d

linux查看系统cpu和内存使用状况的方法

在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要.在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况.运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等.退出 top 的命令为 q (在 top 运行中敲 q 键一次). top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 可以直接使用top命

11.如何迅速分析出系统CPU的瓶颈在哪里

前几节里,通过几个案例,分析了各种常见的 CPU 性能问题.通过这些,相信对 CPU 的性能分析已经不再陌生和恐惧,起码有了基本的思路,也了解了不少 CPU 性能的分析工 具. 不过,我猜你可能也碰到了一个我曾有过的困惑: CPU 的性能指标那么多,CPU 性能分析工具 也是一抓一大把,如果离开专栏,换成实际的工作场景,我又该观察什么指标.选择哪个性能工 具呢? 不要担心,今天我就以多年的性能优化经验,给你总结出一个"又快又准"的瓶颈定位套路,告 诉你在不同场景下,指标工具怎么选,性能

Linux系统的时间管理

1 查看系统时间和日期 :date [[email protected] Desktop]# date  Tue Jun  2 05:25:05 EDT 2015 2查看硬件时间:hwclock --show | -r [[email protected] Desktop]# hwclock  Tue 02 Jun 2015 05:40:30 AM EDT  -0.272377 seconds 3 修改系统时间使用的命令: 修改系统时间: [[email protected] named]# d

Linux查看系统开机时间

Linux查看系统开机时间 有时候需要查看Linux系统运行了多久时间,此时需要知道上次开机启动时间: 有时候由于断电或供电故障突然停机,需要查看Linux开机时间/重启时间:  下面总结一些查看Linux开机关机时间的方法(非常全面) 1: who 命令查看 who -b 查看最后一次系统启动的时间. who -r 查看当前系统运行时间 [[email protected] ~]# who -b system boot May 11 09:27 2: last  reboot 如下所示last

Linux性能优化从入门到实战:04 CPU篇:CPU使用率

??CPU使用率是单位时间内CPU使用情况的统计,以百分比方式展示. $ top top - 11:46:45 up 7 days, 11:52, 1 user, load average: 0.00, 0.01, 0.00 Tasks: 198 total, 1 running, 197 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.2 us, 0.2 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st K

【转帖】如果进入CPU的世界,时间会是怎样的?

如果进入CPU的世界,时间会是怎样的? 2018-02-26 20:52:46 world6 阅读数 1295更多 分类专栏: 网络 缓存服务 架构 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/world6/article/details/79375690 每个人都会有一些吐槽的想法存在,我替CPU把它的吐槽 放在我的博客里吧! 不知道大家有没有感觉每天写代码的时间过得很快啊,有时候一

居然还有WM_TIMECHANGE(只在用户手动改变系统时间时才会产生作用)

unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls; const TIMER_ID = 200; type TForm1 = class(TForm) Label1: TLabel; btkilltime: TButton; btsettime: TButton; procedure Button1Click(S