英语法语西班牙语

Ad


OnWorks 网站图标

memusage - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 memusage

这是可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行的命令 memusage,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


memusage - 配置程序的内存使用情况

概要


记忆 [选项] ... 程序 [程序选项] ...

商品描述


记忆 是一个 bash 脚本,用于分析程序的内存使用情况, 程序。 它
预加载 libmemusage.so 库进入调用者的环境(通过 LD_预载
环境变量; 看 搜搜(8))。 这 libmemusage.so 库跟踪内存分配
通过拦截对 分配(3) 卡洛克(3) 免费(3), 重新分配(3); 可选地,调用
MMAP(2) 重映射(2), 蒙图(2)也可以拦截。

记忆 可以将采集到的数据以文本形式输出,也可以使用 内存状态(1)(请参阅
-p 选项,下面)创建一个包含图形表示的 PNG 文件
收集的数据。

内存 用法 摘要
输出的“内存使用摘要”行 记忆 包含三个字段:


的总和 尺寸 所有人的论点 分配(3) 调用,参数的产物
(纳米*尺寸)的全部 卡洛克(3) 调用和总和 长度 所有人的论点 MMAP(2)
调用。 如果是 重新分配(3)和 重映射(2)、如果一个新的大小
分配大于之前的大小,所有这些差异的总和
(新尺寸减去旧尺寸)被添加。

高峰
所有的最大值 尺寸 论据 分配(3)、所有产品 纳米*尺寸 of
卡洛克(3)、所有 尺寸 论据 重新分配(3) 长度 论据 MMAP(2),
新尺寸 论据 重映射(2)。

高峰
在第一次调用任何受监视的函数之前,堆栈指针地址
(基本堆栈指针)被保存。 每次函数调用后,实际堆栈
读取指针地址与基栈指针的区别
计算。 这些差异的最大值则是堆栈峰值。

紧随此摘要行之后,一个表格显示了呼叫次数、总内存
分配或解除分配,以及每个拦截函数的失败调用次数。 为了
重新分配(3)和 重映射(2)、附加字段“nomove”显示已更改的重新分配
块的地址,附加的“dec”字段显示减少的重新分配
块的大小。 为了 重新分配(3)、附加字段“free”显示重新分配
这导致块被释放(即,重新分配的大小为 0)。

表输出的“重新分配/总内存” 记忆 不反映情况
重新分配(3) 用于重新分配一块内存以使其大小比以前更小。
这可能导致所有“总内存”单元(不包括“空闲”)的总和大于
“空闲/总内存”单元格。

直方图 阻止 尺寸
“块大小的直方图”将内存分配细分为各种
桶大小。

配置


-n 姓名, --程序名称=姓名
要配置文件的程序文件的名称。

-p 文件, --png=文件
生成PNG图形并将其存储在 文件.

-d 文件, --数据=文件
生成二进制数据文件并将其存储在 文件.

-u, --无缓冲
不要缓冲输出。

-b 尺寸, --缓冲区=尺寸
收集 尺寸 在写出之前的条目。

--无定时器
禁用基于定时器的 (信号专家) 堆栈指针值的采样。

-m, --mmap
还跟踪 MMAP(2) 重映射(2), 蒙图(2)。

-?, - 帮帮我
打印帮助并退出。

- 用法
打印一条简短的使用消息并退出。

-V, - 版
打印版本信息并退出。

以下选项仅在生成图形输出时适用:

-t, --基于时间
使用时间(而不是函数调用次数)作为 X 轴的刻度。

-T, - 全部的
还要绘制总内存使用量的图表。

--标题=姓名
使用 姓名 作为图表的标题。

-x 尺寸, --x-大小=尺寸
制作图表 尺寸 像素宽。

-y 尺寸, --y-大小=尺寸
制作图表 尺寸 像素高。

退出 状态


退出状态等于分析程序的退出状态。


下面是一个简单的程序,它以上升到峰值的周期重新分配一块内存
在此之前循环重新分配返回到零的较小块中的内存。
编译程序并运行以下命令后,内存图
该程序的用法可以在文件中找到 记忆.png:

$ 记忆 --data=memusage.dat ./a.输出
...
内存使用汇总:堆总:45200,堆峰值:6440,堆栈峰值:224
总调用次数 总内存失败调用次数
分配器| 1 400 0
重新分配| 40 44800 0 (nomove:40, dec:19, free:0)
钙调| 0 0 0
免费| 1 440
块大小的直方图:
192-207 1 2% =================
...
2192-2207 1 2% =================
2240-2255 2 4% ==================================
2832-2847 2 4% ==================================
3440-3455 2 4% ==================================
4032-4047 2 4% ==================================
4640-4655 2 4% ==================================
5232-5247 2 4% ==================================
5840-5855 2 4% ==================================
6432-6447 1 2% =================
$ 内存状态 备忘录.dat 记忆.png

曲目 资源
#包括
#包括

#define 周期 20

INT
主要(int argc,char *argv[])
{
内部 i, j;
int * p;

printf("malloc: %zd\n", sizeof(int) * 100);
p = malloc(sizeof(int) * 100);

for (i = 0; i < CYCLES; i++) {
如果 (i < 周期数 / 2)
j = 我;
其他
j——;

printf("realloc: %zd\n", sizeof(int) * (j * 50 + 110));
p = realloc(p, sizeof(int) * (j * 50 + 100));

printf("realloc: %zd\n", sizeof(int) * ((j+1) * 150 + 110));
p = realloc(p, sizeof(int) * ((j + 1) * 150 + 110));
}

免费(p);
退出(退出成功);
}

使用 onworks.net 服务在线使用 memusage


免费服务器和工作站

下载 Windows 和 Linux 应用程序

  • 1
    VBA-M(已存档 - 现在在 Github 上)
    VBA-M(已存档 - 现在在 Github 上)
    项目已移至
    https://github.com/visualboyadvance-m/visualboyadvance-m
    特征:作弊创作保存状态多
    系统,支持gba, gbc, gb, sgb,
    sgb2图...
    下载 VBA-M(存档 - 现在在 Github 上)
  • 2
    Stacer
    Stacer
    Linux 系统优化器和监控
    Github 存储库:
    https://github.com/oguzhaninan/Stacer.
    受众:最终用户/桌面。 用户
    接口:Qt。 编程拉...
    下载 Stacer
  • 3
    橙狐
    橙狐
    TeamWinRecoveryProject(TWRP) 的分支
    具有许多附加功能,重新设计
    以及更多功能:支持高音和
    非 Treble ROM 最新的 Oreo 内核,
    建...
    下载橙狐
  • 4
    itop - ITSM CMDB 开源
    itop - ITSM CMDB 开源
    IT 运营门户:完全开放
    源,ITIL,基于 Web 的服务
    管理工具,包括一个完全
    可定制的 CMDB、帮助台系统和
    一个文件人...
    下载 itop - ITSM CMDB OpenSource
  • 5
    克莱门汀
    克莱门汀
    Clementine 是一种多平台音乐
    玩家和图书馆组织者的灵感来自
    阿玛洛克 1.4。 它有一个快速和
    易于使用的界面,并允许您
    搜索和...
    下载克莱门汀
  • 6
    西马
    西马
    注意:累积更新 2.4.3 有
    被释放了!! 该更新适用于任何
    以前的 2.xx 版本。 如果升级
    从 v1.xx 版本开始,请下载并
    我...
    下载 XISMuS
  • 更多 ”

Linux 命令

Ad