linux常用命令time怎么使用

linux常用命令time怎么使用,第1张

Linux中time命令,我们经常用来计算某个程序的运行耗时(real),用户态cpu耗时(user),系统态cpu耗时(sys)

time命令最常用的使用方式就是在其后面直接跟上命令和参数:

time <command>[<arguments...>]

举个栗子1:

bixiaopeng@bixiaopengtekiMacBook-Pro ~$ time sleep 2

real 0m2.005s

user0m0.001s

sys 0m0.002s

小解其意:

real 0m2.005s :sleep这个程序运行耗时为0m2.005s

user0m0.001s : 这个时间代表的是sleep运行在用户态的cpu时间

sys 0m0.002s : 这个时间代表的是sleep运行在核心态的cpu时间。

用户态(User Mode):

在用户态,代码不具备直接访问硬件或者访问内存的能力,而必须借助 *** 作系统提供的可靠的,底层的APIs来访问硬件或者内存。由于这种隔离带来的保护作用,用户态的代码崩溃(Crash),系统是可以恢复的。我们大多数的代码都是运行在用户态的。

核心态(Kernel Mode):

在内核态,代码拥有完全的,不受任何限制的访问底层硬件的能力。可以执行任意的CPU指令,访问任意的内存地址。内核态通常情况下,都是为那些最底层的,由 *** 作系统提供的,可信可靠的代码来运行的。内核态的代码崩溃将是灾难性的,它会影响到整个系统。

为什么要区分Kernel Mode 和 User Mode:

隔离保护,使得系统更稳定。

好,讲完用户态和核心态之后,我们来看user time,说过了,这个指的是程序foo运行在用户态的cpu时间,cpu时间不是墙上的钟走过的时间,而是指CPU工作时间。

举个栗子2:

#time -p 不显示单位

bixiaopeng@bixiaopengtekiMacBook-Pro ~$ time -p sleep 2

real 2.00

user 0.00

sys 0.00

time命令 – 指令执行时所消耗的时间

time a.out

注意,time命令常用于测量一个命令的运行时间

运行命令a.out的时间统计结果 《Linux就该这么学》中有Linux命令大全查询,可以看看

数据可以分别为:

一个程序在运行时使用的系统资源通常包括CPU、Memory和I/O等,其中CPU资源的统计包括实际使用时间(real time)、用户态使用时间(the process spent in user mode)、内核态使用时间(the process spent in kernel mode)。

用户CPU时间(user CPU time): 命令执行完成花费的用户CPU时间,即命令在用户态中执行时间总和;

实际时间(real time): 从command命令行开始执行到运行终止的消逝时间;

系统CPU时间(system CPU time): 命令执行完成花费的系统CPU时间,即命令在核心态中执行时间总和。

Linux命令的使用时linux运维中的核心基础,因此你需要知道常见的命令的功能选项,这样你才能够更好的处理遇到的问题。关于Linux命令学习这块,你学习刘遄老师的书籍《linux就该这么学》,相信你会把linux命令掌握得非常的透彻。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7403508.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存