如何使用“memusage”命令检查特定程序的内存使用情况

如何使用“memusage”命令检查特定程序的内存使用情况

我想检查特定程序的内存使用情况。

我正在尝试使用该memusage命令,如文档中所述它的联机帮助页Ubuntu 中也存在。但运行它会产生

root@username:~# memusage filename
No command 'memusage' found, did you mean:
Command 'gmemusage' from package 'gmemusage' (universe)
memusage: command not found

我想使用命令检查程序的内存使用情况memusage。我需要做什么?

如果我尝试像这样安装这个命令,我会得到:

Root@Username#apt-get install memusage
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package memusage

答案1

我需要做什么?

  1. 获得Debian来源GNU libc 包
  2. 确保它构建memusagestat命令。
  3. 修补文件在它的debian/debhelper.in目录所以这样剧本malloc/memusage.sh并且该memusagestat命令包含在现有构建的二进制包之一或新memusage包中。 他们目前还没有
  4. 接触该项目的 Debian 维护者并让他们将您的补丁合并到官方 Debian 源代码中。
  5. 让 Ubuntu 人员构建新的二进制包。 Debian 当然是 Ubuntu 软件包的起源
  6. 安装新的/修改后的二进制包。

此过程(特别是步骤 3、4 和 5)需要一些时间。

答案2

如中所述错误#91815,二进制文件不再随libc6包一起提供。

因此,您必须下载源代码 ( apt source libc6),然后获取所需的依赖项 ( apt build-dep libc6),然后进行编译。

不过,该错误似乎已于 2020 年 7 月 8 日得到解决。

答案3

memusagelibc-devtools包装内有提供从2.31-8版本开始。这在 Ubuntu 21.04 及更高版本、Debian 11 及更高版本以及衍生版本中可用。

相关内容