Linux测量进程内存峰值,linux / unix进程的峰值内存使用情况

是否有一个工具可以运行命令行并报告峰值RAM使用总量?

我在想象类似于/ usr / bin / time的东西

#1楼

Valgrind单线:

valgrind --tool=massif --pages-as-heap=yes --massif-out-file=massif.out ./test.sh; grep mem_heap_B massif.out | sed -e 's/mem_heap_B=\\(.*\\)/\\1/' | sort -g | tail -n 1

#2楼

如果进程运行至少几秒钟,那么您可以使用以下bash脚本,它将运行给定的命令行,然后打印到stderr峰值RSS(替换rss您感兴趣的任何其他属性)。 它有点轻量级,它适用于我使用Ubuntu 9.04中包含的ps (我不能说time )。

#!/usr/bin/env bash

"$@" & # Run the given command line in the background.

pid=$! peak=0

while true; do

sleep 1

sample="$(ps -o rss= $pid 2> /dev/null)" || break

let peak='sample > peak ? sample : peak'

done

echo "Peak: $peak" 1>&2

#3楼

(这是一个已经回答的老问题..但仅仅是为了记录:)

我受到杨的剧本的启发,并提出了这个名为memusg的小工具。 我只是将采样率提高到0.1来处理很短的生活过程。 我没有监控单个进程,而是测量进程组的rss总和。 (是的,我写了很多单独的程序一起工作)它目前适用于Mac OS X和Linux。 用法必须是类似的time :

memusg ls -alR / >/dev/null

它只显示当前的峰值,但我对记录其他(粗略)统计数据的轻微扩展感兴趣。

在我们开始任何严肃的分析之前,有这么简单的工具来看看它是很好的。

#4楼

在MacOS Sierra上使用:

/usr/bin/time -l commandToMeasure

您可以使用grep来获取您想要的内容。

#5楼

'htop'是最好的命令,看看哪个进程正在使用多少内存.....

来源:oschina

链接:https://my.oschina.net/stackoom/blog/3176263

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值