Linux下用time命令测程序运行时间
在IT行业这个发展更新速度很快的行业,只有不停止的学习,才不会被行业所淘汰。如果你是文章学习者,那么本文《Linux中使用time命令统计程序运行时间》就很适合你!本篇内容主要包括##content_title##,希望对大家的知识积累有所帮助,助力实战开发!
Linux time命令
在 Linux 系统中,time 命令的主要功能是测量指定命令执行过程中所消耗的时间以及系统资源的使用情况。
它能够显示如 CPU 使用时间、内存占用、输入输出操作等相关信息。需要注意的是,并非所有信息都能在 Linux 中正确呈现。这主要是由于 Linux 内部资源分配机制与 time 命令默认获取方式存在差异,导致部分数据无法被读取。
语法格式
<code>time [选项] 命令 [参数]</code>
常用选项说明:
- -o 或 --output=文件名:将统计结果输出到指定文件。若文件已存在,则原内容会被覆盖。
- -a 或 --append:配合 -o 使用时,将结果追加写入文件末尾,而非覆盖原有内容。
- -f 格式 或 --format=格式:自定义结果显示格式。未指定时使用系统默认格式。可通过设置环境变量 TIME 来永久更改格式模板。
time 命令可展示四大类资源信息:
- 时间相关
- 内存使用
- 输入输出
- 命令信息
具体说明如下:
1、时间资源
E 整个命令执行耗时,格式为:[小时]:分钟:秒。注意此值不等于实际 CPU 运行时间。
e 命令执行总时间,单位为秒。同样不是真实 CPU 时间。
S 命令在内核态运行时间,单位秒。
U 命令在用户态运行时间,单位秒。
P CPU 占用率,即(内核态+用户态)时间总和除以总执行时间得出的百分比。
2、内存资源
M 执行期间物理内存使用的最大值,单位 KB
t 物理内存平均使用量,单位 KB
K 程序占用内存总量(堆栈+数据段+代码段)平均值,单位 KB
D 独占数据区平均大小,单位 KB
p 独占堆栈区平均大小,单位 KB
X 共享代码段平均大小,单位 KB
Z 系统页面大小,单位字节。同一系统中该值固定不变
3、IO资源
F 主缺页中断次数。指某内存页已被交换到交换分区并分配给其他进程,需要从交换分区重新读取的情况。
R 次缺页中断次数。表示内存页虽被换出但尚未分配给其他进程,此时内容未改变,无需从交换分区读取。
W 被换出到交换分区的次数
c 被强制中断(如CPU时间片用完)的次数
w 自愿中断次数(如等待磁盘读写完成)
I 输入文件数量
O 输出文件数量
r 接收的Socket消息数
s 发送的Socket消息数
k 接收到的信号数量
4、命令相关信息
C 执行命令及其参数详情
x 结束状态码 (Exit Status )
-p or --portability:自动设定显示格式为:
real %e user %Usys %S,确保符合 POSIX 标准。
-v or --verbose:列出所有可用资源信息,采用自然语言描述,适合刚接触该命令的用户。
使用示例
<code> 1. # time date 2. Sun Mar 26 22:45:34 GMT-8 2006 3. 4. real 0m0.136s 5. user 0m0.010s 6. sys 0m0.070s 7. #</code>
以上示例中,执行了 "time date" 命令(见第1行)。
系统先运行 date 命令,其输出结果如第2行所示。
第4至6行展示了时间统计信息:"real" 表示实际经过时间,"user" 是用户态CPU时间,"sys" 为内核态CPU时间。
这些时间值的显示格式统一为 MMmNN[.FFF]s。
使用以下命令:
<code>time -v ps -aux</code>
可以同时查看 ps -aux 的执行结果及其资源消耗情况,如下所示:
<code> USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.4 1096 472 ? S Apr19 0:04 init root 2 0.0 0.0 0 0 ? SW Apr19 0:00 [kflushd] root 3 0.0 0.0 0 0 ? SW Apr19 0:00 [kpiod] ...... root 24269 0.0 1.0 2692 996 pts/3 R 12:16 0:00 ps -aux Command being timed: "ps -aux" User time (seconds): 0.05 System time (seconds): 0.06 Percent of CPU this job got: 68% Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.16 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 238 Minor (reclaiming a frame) page faults: 46 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0</code>
好了,本文到此结束,带大家了解了《Linux下用time命令测程序运行时间》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多文章知识!

- 上一篇
- Win8无法进桌面?修复方法全汇总

- 下一篇
- HTMLheader标签作用及用法详解
-
- 文章 · linux | 2分钟前 |
- OpenSSL证书吊销步骤及方法详解
- 215浏览 收藏
-
- 文章 · linux | 10分钟前 | Linux 配置 LILO liloconfig 引导加载程序
- LinuxLILO配置工具-liloconfig详解
- 384浏览 收藏
-
- 文章 · linux | 29分钟前 |
- Linux程序编译与开发环境搭建教程
- 307浏览 收藏
-
- 文章 · linux | 1小时前 |
- Linux修改文件所有者方法及chown命令使用教程
- 276浏览 收藏
-
- 文章 · linux | 1小时前 |
- 减少Linux下JS日志输出方法
- 208浏览 收藏
-
- 文章 · linux | 1小时前 | Linux Linux命令
- Linuxmktemp命令使用教程与实例解析
- 431浏览 收藏
-
- 文章 · linux | 1小时前 | Linux Linux命令
- Linux下mshowfat命令详解与使用实例
- 176浏览 收藏
-
- 文章 · linux | 2小时前 |
- Linux下Sniffer流量整形方法解析
- 375浏览 收藏
-
- 文章 · linux | 2小时前 |
- Linux下JS日志分析技巧与工具推荐
- 173浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 484次学习
-
- 免费AI认证证书
- 科大讯飞AI大学堂推出免费大模型工程师认证,助力您掌握AI技能,提升职场竞争力。体系化学习,实战项目,权威认证,助您成为企业级大模型应用人才。
- 3次使用
-
- 茅茅虫AIGC检测
- 茅茅虫AIGC检测,湖南茅茅虫科技有限公司倾力打造,运用NLP技术精准识别AI生成文本,提供论文、专著等学术文本的AIGC检测服务。支持多种格式,生成可视化报告,保障您的学术诚信和内容质量。
- 153次使用
-
- 赛林匹克平台(Challympics)
- 探索赛林匹克平台Challympics,一个聚焦人工智能、算力算法、量子计算等前沿技术的赛事聚合平台。连接产学研用,助力科技创新与产业升级。
- 183次使用
-
- 笔格AIPPT
- SEO 笔格AIPPT是135编辑器推出的AI智能PPT制作平台,依托DeepSeek大模型,实现智能大纲生成、一键PPT生成、AI文字优化、图像生成等功能。免费试用,提升PPT制作效率,适用于商务演示、教育培训等多种场景。
- 171次使用
-
- 稿定PPT
- 告别PPT制作难题!稿定PPT提供海量模板、AI智能生成、在线协作,助您轻松制作专业演示文稿。职场办公、教育学习、企业服务全覆盖,降本增效,释放创意!
- 159次使用
-
- 命令行工具:应对Linux服务器安全挑战的利器
- 2023-10-04 501浏览
-
- 如何使用Docker进行容器的水平伸缩和负载均衡
- 2023-11-07 501浏览
-
- linux .profile的作用是什么
- 2024-04-07 501浏览
-
- 如何解决s权限位引发postfix及crontab异常
- 2024-11-21 501浏览
-
- 如何通过脚本自动化Linux上的K8S安装
- 2025-02-17 501浏览