time是我们比较常用的一个在bash终端监控程序运行的小工具,如

time sleep 2real    0m2.003s 整个程序运行耗时,从运行开始到运行结束
user    0m0.002s 程序运行过程中用户占用的cpu时间
sys    0m0.001s 程序运行过程中系统占用的CPU时间

那如果我们想监控程序的运行内存怎么办?我们可以调用系统的time,而不是bashtime,什么区别呢?

type time
# 这是bash中的time
time 是 shell 关键字
# 这是系统的time
which time
/usr/bin/time

这时我们通常需要全路径去调用,例如

# /usr/bin/time -v command
/usr/bin/time -v STAR --runMode genomeGenerate --runThreadN 10 --genomeDir star_GRCh38 --genomeFastaFiles GRCh38.fa --sjdbGTFfile GRCh38.gtf

返回如下信息:

Aug 31 16:51:51 ..... started STAR run
Aug 31 16:51:51 ... starting to generate Genome files
Aug 31 16:51:52 ..... processing annotations GTF
Aug 31 16:51:53 ... starting to sort Suffix Array. This may take a long time...
Aug 31 16:51:54 ... sorting Suffix Array chunks and saving them to disk...
Aug 31 16:52:10 ... loading chunks from disk, packing SA...
Aug 31 16:52:13 ... finished generating suffix array
Aug 31 16:52:13 ... generating Suffix Array index
Aug 31 16:52:45 ... completed Suffix Array index
Aug 31 16:52:45 ..... inserting junctions into the genome indices
Aug 31 16:53:05 ... writing Genome to disk ...
Aug 31 16:53:06 ... writing Suffix Array to disk ...
Aug 31 16:53:09 ... writing SAindex to disk
Aug 31 16:53:21 ..... finished successfullyCommand being timed: "STAR --runMode genomeGenerate --runThreadN 10 --genomeDir star_GRCh38 --genomeFastaFiles GRCh38.fa --sjdbGTFfile GRCh38.gtf"# 用户占用CPU的时间User time (seconds): 191.97# 系统占用CPU的时间System time (seconds): 11.18# 用户额CPU使用率;虽然指定了10个线程,但只达到了双核效率,快了2倍Percent of CPU this job got: 223%# 程序从开始运行到结束的时间,人为感觉到的运行了多久Elapsed (wall clock) time (h:mm:ss or m:ss): 1:30.93 # 下面5项未做统计,都给予了0Average shared text size (kbytes): 0Average unshared data size (kbytes): 0Average stack size (kbytes): 0Average total size (kbytes): 0Average resident set size (kbytes): 0# 该进程占用的最大物理内存, 2.3GMaximum resident set size (kbytes): 2306644# 数据未读入内存,从硬盘读取后缓存入内存Major (requiring I/O) page faults: 0# 已读入内存缓存区的数据Minor (reclaiming a frame) page faults: 2451338# 程序自动放弃CPU使用权的次数Voluntary context switches: 293# 程序被动放弃CPU使用权的次数Involuntary context switches: 434Swaps: 0# 总的读写字符数File system inputs: 0File system outputs: 6246432Socket messages sent: 0Socket messages received: 0Signals delivered: 0Page size (bytes): 4096Exit status: 0

有了这个工具,下一步就可以愉快的评估不同的软件、数据量所使用的计算资源多少,进而指导电脑装机了。

References

  1. https://stackoverflow.com/questions/60779173/what-does-maximum-resident-set-size-mean

  2. https://www.gnu.org/software/time/

  3. https://ftp.gnu.org/gnu/time/

  4. https://stackoverflow.com/questions/998517/problem-with-the-gnu-time-command-to-measure-memory-usage

  5. https://superuser.com/questions/480928/is-there-any-command-like-time-but-for-memory-usage

  6. https://stackoverflow.com/questions/131303/how-can-i-measure-the-actual-memory-usage-of-an-application-or-process

  7. https://stackoverflow.com/questions/774556/peak-memory-usage-of-a-linux-unix-process/774601#774601

  8. https://bugzilla.redhat.com/show_bug.cgi?id=702826

  9. https://www.slashroot.in/linux-system-io-monitoring

Time除了监控程序运行时间还能干这个?相关推荐

  1. 除了吃月饼,中秋节还能干啥?

    明天 八月十五,团圆夜 花好月圆之际 除了吃月饼,还能干啥? 阿里妹带来双重好礼,陪你过中秋~ (往下看,送云栖大会三日通票哦) 1重礼  - 阿里技术热门精选 - <Java 开发手册> ...

  2. 没有理想的人不会伤心,不想做程序猿,没目标,不知道自己还能干嘛呢

    现在自己的情况就是不知道要做什么,又不想做程序猿,今天没做什么事,闲了一天,又不去学习,也不去优化代码,就在那里犯困打瞌睡,聊下天,好讨厌现在的自己,等等下班搭一个多小时地铁回到住的地方,吃个饭,又开 ...

  3. 中金人工智能报告:AI时代,10 年之后我们还能干什么?|71页完整报告

    来源:黑科技智汇 中金公司(CICC)发布了一份长达 71 页的人工智能的证券研究报告<人工智能时代,10 年之后我们还能干什么?>.对全球特别是中国企业当下的人工智能态势作了全面的介绍: ...

  4. 人工智能除了下围棋还能干啥?

    人工智能除了下围棋还能干啥?这篇科普文将震撼你的世界观 译者注:人工智能很可能导致人类的永生或者灭绝,而这一切很可能在我们的有生之年发生. 上面这句话不是危言耸听,请耐心的看完本文再发表意见.这篇翻译 ...

  5. Pygame实战:这年头塔除了拆还能干什么?这款好玩上瘾的塔防游戏,了解一下嘛

    导语 >>> 这年头塔除了拆还能干什么?这款好玩上瘾的塔防游戏,了解一下!! 自从塔诞生的时候起,我们就开始让毁灭的雨点从敌人的头顶上方倾泻而下. 现在很多游戏都将塔作为一个标志性的 ...

  6. 当 ChatGPT 比你更会写代码,程序员还能干什么?

    作者 | 何苗 出品 | CSDN(ID:CSDNnews) 大模型的火热引爆了 AI 编程领域的全面革新,人们开始思考如何借助 AI 提高编程效率的同时,也在思考未来需要怎样的"新程序员& ...

  7. 华为watch2pro鸿蒙,华为WATCH 2 Pro评测:2588元除了打电话还能干啥

    华为WATCH 2 Pro评测:2588元除了打电话还能干啥 一.前言:智能手表大佬 华为再发穿戴新品 几十年前,人们就想象着手表能够代替手机,使用手表便可通话.收发信息.随着科技的发展,这一切如今已 ...

  8. fullcalendar 显示的时间间隔只有四十五分钟_Linux命令行监控程序,还能实时高亮显示差异,我就选它了...

    引言 watch用于定期运行任意命令,并在终端窗口上显示该命令的输出.当你必须重复执行命令并观察命令输出随时间变化时,它非常有用. 例如,可以使用watch命令来监视系统正常运行时间或磁盘使用情况. ...

  9. 运维干到35岁,还能干多久?

    继续干,干到50岁没问题! 对很多IT人而言,35岁是个坎儿,是个讳莫如深.却不能不提的"包袱".也许这是你对IT行业的理解,但是我的经验是40以上只要时间允许,都可以干运维.毕竟 ...

最新文章

  1. javascript promise编程
  2. 万万没想到,坤坤洗白的第一步是周琦…
  3. 百度人脸检测与识别项目资源
  4. 高性能计算的线程模型:Pthreads 还是 OpenMP
  5. 前端学习(1352)模板语法
  6. 文本解析 python 多行,关于python:基于文本的数据格式,支持多行字符串
  7. 【原】解决VS2008编译的程序在某些机器上运行提示“由于应用程序配置不正确,应用程序未能启动”的问题...
  8. kafka 控制台命令
  9. Python安装库Could not find a version that satisfies the requirement requests (from versions: none)
  10. linux非对称内存,CryptoAPI与OpenSSL RSA非对称加密解密(PKCS1 PADDING)交互
  11. 使用Python防止SQL注入攻击
  12. 260道网络安全工程师面试题(附答案)
  13. VSCODE:删除空白行
  14. layui图标不显示的解决办法
  15. edm邮件直投_EDM邮件直投专家下载
  16. maya cmds 笔记_1
  17. autojs微信运动自动点赞
  18. ubuntu 1804 安装matlab2018a
  19. 使用dockpanel动态添加picturebox并绑定图片
  20. vscode设置不显示某些文件或文件夹

热门文章

  1. 【2016年第2期】大数据背景下的治理现代化:何以可能与何以可为(下)
  2. 软件测试——0319作业
  3. 【软件测试】测试需求分析
  4. 【C语言】第五章 迭代计算与循环结构 题解
  5. 区块链技术的发展趋势
  6. ref和out的联系及区别(转)
  7. MyEclipse 2017 CI 9 发布(附下载)
  8. 爱尔兰向欧盟上诉:没特别给苹果税收优惠 欧盟手伸的太长
  9. ubuntu下安装phpredis的模块扩展
  10. redhat server 5.3内核升极2.6.18 升级到 3.5 装systemtap 原创