【每天一个Linux命令】08. Linux中time命令的用法

 

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


time命令最常用的使用方式就是在其后面直接跟上命令和参数:
time <command> [<arguments...>]

 

 

举个栗子1:

 

 

 

bixiaopeng@bixiaopengtekiMacBook-Pro ~$ time sleep 2

real     0m2.005s
user    0m0.001s
sys     0m0.002s


小解其意:

real     0m2.005s  :sleep这个程序运行耗时为0m2.005s
user    0m0.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

 

订阅

微信搜索“毕小烦”或者扫描下面的二维码,即可订阅我的文章。

image.png

如果文章对你有帮助,请随手点个赞吧!

(完)

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕小烦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值