首页 > 系统相关 >Linux中time命令输出的Real time, User time and Sys time

Linux中time命令输出的Real time, User time and Sys time

时间:2023-07-22 09:12:53浏览次数:36  
标签:Real real mysql sys sh time Linux user

在运行的程序之前加 time 最后得出三个时间 real、  user、 sys, real是程序的实际运行时间,sys是内核态的时间,user是用户态的时间,单核情况,real远远大于user和sys之和。

real,从程序开始到程序执行结束时所消耗的时间,包括CPU的用时和所有延迟程序执行的因素的总和。CPU用时被划分为user和sys两块。user表示程序本身,以及它所调用的库中的子例程使用的时间。sys是由程序直接或间接调用的系统调用执行的时间。

real=cpu用时+其他因素时间
cpu 用时=user+sys
所以: real> user + sys (单核情况)

time命令结果有三行组成:real、user和sys。CPU用时被划分为user和sys两块。

real值表示从程序开始到程序执行结束时所消耗的时间,包括CPU的用时

user值表示程序本身,以及它所调用的库中的子例程使用的时间

sys是由程序直接或间接调用的系统调用执行的时间

在单处理器上,real值和整个CPU用时之差,也就是real - ( user + sys )是所有延迟程序执行的因素的总和。

使用示例

示例一 统计运行时间

[root@web186 root]# time find . -name "mysql.sh" 
./work186/sms/bin/mysql.sh
./work186/sms/src/scripts/mysql.sh
./work186/sms/src/scripts1/mysql.sh
./work186/sms1/bin/mysql.sh
./work186/sms1/src/scripts/mysql.sh
./temp/sms/bin/mysql.sh
./temp/sms/src/scripts/mysql.sh

real    0m14.837s
user    0m0.030s
sys     0m0.120s
[root@web186 root]#

注:real远大于user加上sys,因为find需要遍历各个目录,需要大量的I/O操作,而磁盘I/O通常是最慢的环节,因此大部分时间find进程都在等待磁盘I/O完成。

[root@web186 root]# time find . -name "mysql.sh" 
./work186/sms/bin/mysql.sh
./work186/sms/src/scripts/mysql.sh
./work186/sms/src/scripts1/mysql.sh
./work186/sms1/bin/mysql.sh
./work186/sms1/src/scripts/mysql.sh
./temp/sms/bin/mysql.sh
./temp/sms/src/scripts/mysql.sh

real    0m0.230s
user    0m0.040s
sys     0m0.030s

注:再次运行的时候,发现real time变得很小了,应该是操作系统将刚才操作过的一些文件缓存了的缘故,因而大大减少了磁盘I/O。 

  * Real 是时钟时间,程序从开始至结束的总时间。他包括期间其他进程所占用的时间片和进程被阻塞的时间(如IO等待的时间)
   * User 被测试程序在用户模式下所花的CPU时间。他是进程执行的正真的CPU时间。其他进程调度的时间片以及阻塞(如IO)的时间不包含在内。
   * Sys 是进程在内核中所花费的CPU时间。他表示进程在内核调用中所花的CPU时间,而程序的库调用仍然运行在用户空间下。
     User+Sys表示程序所执行的CPU时间(不包括IO以及其他进程的CPU时间).

标签:Real,real,mysql,sys,sh,time,Linux,user
From: https://www.cnblogs.com/chentiao/p/17572828.html

相关文章

  • Linux 操作系统预习提纲
    以下是Linux操作系统的预习提纲的Markdown格式示例:Linux操作系统预习提纲1.Linux基础知识Linux操作系统的起源与发展Linux发行版的选择与常见发行版介绍Linux文件系统与目录结构Linux用户与权限管理2.LinuxShell基础Shell的概念与常见Shell的介绍常......
  • STM32高级定时器 time1
    高级定时器和基本定时器通用定时器有较大区别。基本定时器就只能进行定时操作。且CNT只能加。基本定时器能进行定时,PWM的生产,输入捕获啥的高级定时器能定时/PWM。输入捕获,输出互补和死区刹车的生产。高级定时器定时器1有4个中断函数/含中断源。中断源:TIM1_BRK_IRQn //打破中断......
  • Arch Linux install i3-wm
    ArchLinuxinstalli3-wm简介i3-wm是一种动态的平铺式窗口管理器,它的设计目标是提供一个快速、简洁、可定制的桌面环境,适合开发者和高级用户使用。它有以下几个特点:它使用树形结构来管理窗口,可以灵活地分割、组合、切换窗口。它支持多种操作模式,类似于vim,可以通过快捷键执......
  • Linux 网络基础 2 三次握手 三次挥手 多进程 多线程服务器
    1.包裹函数对服务器客户端等函数进行报错处理以及简化处理比如bindinttcp4bind(shortport,constchar*IP){structsockaddr_inserv_addr;intlfd=Socket(AF_INET,SOCK_STREAM,0);bzero(&serv_addr,sizeof(serv_addr));if(IP==NULL){//......
  • Linux ps -o 查看进程启动时间
    时间参数如下表参数 含义start显示进程启动时间的简短格式。通常,它会显示日期时间中的月-日或者时-分-秒start_time 显示进程启动时间的简短格式,通常格式是年或者 月-日或者 时-分,没有秒etime显示进程启动的累积时间,通常格式是天-时-分-秒......
  • 到主机 的 TCP/IP 连接失败 java.net.ConnectException: Connection timed out
    org.apache.commons.dbcp.SQLNestedException:CannotcreatePoolableConnectionFactory(到主机的TCP/IP连接失败。java.net.ConnectException:Connectiontimedout:connect) 1、网络配置tcp/IP没有打开2、防火墙3、连接地址写错(工程文件中数据库连接写正确了,不代表编......
  • linux cpp g++ mysqlconnector
    1.installmysqlinubuntu;2installmysqlconnector;sudoaptinstalllibmysqlclient-dev3.completecode#include<algorithm>#include<chrono>#include<cstdio>#include<cstdint>#include<cstdlib>#include<ctime>......
  • Archlinux+Windows 双系统安装教程(UEFI)2023七月
    前言之前的随笔本人提到过等有时间后写一篇关于manjaro与windows双系统安装的教程,但由于“这样那样的原因”,本人已不再使用manjaro,本人已经切换到archlinux的环境下,故本次的教程将主角换成了archlinux。你需要具备的一些素质1.能够自主地阅读官方文档.,按照本人的教程不代表你......
  • K8S初始化报错:CRI v1 runtime API is not implemented for endpoint \"unix:///var/r
    报错具体内容:[preflight]Somefatalerrorsoccurred:[ERRORCRI]:containerruntimeisnotrunning:output:time="2023-07-21T09:20:07Z"level=fatalmsg="validateserviceconnection:CRIv1runtimeAPIisnotimplementedforendpoint\"un......
  • linux Vim配置Golang语言环境
    下载vim要配置Linux上的Vim,可以按照以下步骤进行操作:打开终端并运行以下命令安装Vim:sudoapt-getupdatesudoapt-getinstallvim12在主目录下创建.vimrc文件:cd~touch.vimrc12编辑.vimrc文件并添加您想要的配置选项。例如,您可以添加以下行以启用语法高亮和......