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

方法一:uptime命令

会告诉你系统运行了多长时间,会用一行显示信息,当前时间、系统运行时间、当前登录用户的数量、过去1分钟/5分钟/15分钟系统负载的均值。

# uptime

08:34:29 up 21 days, 5:46, 1 user, load average: 0.06, 0.04, 0.00

方法二:w命令

为每个登录进系统的用户,每个用户当前所做的事情,所有活动的负载对计算机的影响提供了一个快速的概要。这个单一命令结合了多个

Unix程序:who、uptime,和ps -a的结果。

# w

08:35:14 up 21 days, 5:47, 1 user, load average: 0.26, 0.09, 0.02

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

root pts/1 103.5.134.167 08:34 0.00s 0.01s 0.00s w

方法三:top命令

是Linux上监视实时系统进程的基础命令之一。它显示系统信息和运行进程的信息,例如正常运行时间、平均负载、运行的任务、登录用户数量、CPU数量&CPU利用率、内存&交换空间信息。

# top -c

top - 08:36:01 up 21 days, 5:48, 1 user, load average: 0.12, 0.08, 0.02

Tasks: 98 total, 1 running, 97 sleeping, 0 stopped, 0 zombie

Cpu(s): 0.0%us, 0.3%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

Mem: 1872888k total, 1454644k used, 418244k free, 175804k buffers

Swap: 2097148k total, 0k used, 2097148k free, 1098140k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

1 root 20 0 19340 1492 1172 S 0.0 0.1 0:01.04 /sbin/init

2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [kthreadd]

3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 [migration/0]

4 root 20 0 0 0 0 S 0.0 0.0 0:34.32 [ksoftirqd/0]

5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 [stopper/0]

方法四:who命令

列出当前登录进计算机的用户。who命令与w命令类似,但后者还包含额外的数据和统计信息。

# who -b

system boot 2018-04-12 02:48

方法五:last命令

列出最近登录过的用户。last回溯/var/log/wtmp文件并显示自从文件创建后登录进(出)的用户。

# last reboot -F | head -1 | awk '{print $5,$6,$7,$8,$9}'

Thu Apr 12 02:48:04 2018

方法六:/proc/uptime文件

这个文件中包含系统上次启动后运行时间的详细信息。/proc/uptime的输出相当精简。第一个数字是系统自从启动的总秒数。第二个数字是总时间中系统空闲所花费的时间,以秒为单位。

# cat /proc/uptime

1835457.68 1809207.16


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

原文地址:https://54852.com/yw/8565281.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存