我想检查特定程序的内存使用情况。
我正在尝试使用该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
我需要做什么?
- 获得Debian来源GNU libc 包。
- 确保它构建
memusagestat
命令。 - 修补文件在它的
debian/debhelper.in
目录所以这样剧本malloc/memusage.sh
并且该memusagestat
命令包含在现有构建的二进制包之一或新memusage
包中。 他们目前还没有。 - 接触该项目的 Debian 维护者并让他们将您的补丁合并到官方 Debian 源代码中。
- 让 Ubuntu 人员构建新的二进制包。 Debian 当然是 Ubuntu 软件包的起源。
- 安装新的/修改后的二进制包。
此过程(特别是步骤 3、4 和 5)需要一些时间。
答案2
如中所述错误#91815,二进制文件不再随libc6
包一起提供。
因此,您必须下载源代码 ( apt source libc6
),然后获取所需的依赖项 ( apt build-dep libc6
),然后进行编译。
不过,该错误似乎已于 2020 年 7 月 8 日得到解决。
答案3
memusage
libc-devtools
包装内有提供从2.31-8版本开始。这在 Ubuntu 21.04 及更高版本、Debian 11 及更高版本以及衍生版本中可用。