Ubuntu 中的 memusage 命令在哪里?
Where is the memusage command in Ubuntu?
在我的 Ubuntu LTS 系统上,我有一个 manpage 用于记忆:
$ man memusage
MEMUSAGE(1) Linux user manual MEMUSAGE(1)
NAME
memusage - profile memory usage of a program
...
然而,当我尝试 运行 记忆时,却找不到。
在我的系统中搜索出现的结果是:
$ dpkg -S memusage
libc6-i386: /lib32/libmemusage.so
manpages: /usr/share/man/man1/memusage.1.gz
libc6-dbg:amd64: /usr/lib/debug/lib/x86_64-linux-gnu/libmemusage.so
libc6:i386: /lib/i386-linux-gnu/libmemusage.so
libreoffice-script-provider-bsh: /usr/lib/libreoffice/share/Scripts/beanshell/MemoryUsage/memusage.bsh
libc6:amd64: /lib/x86_64-linux-gnu/libmemusage.so
manpages: /usr/share/man/man1/memusagestat.1.gz
为什么有 memusage 的手册页,而不是命令本身?
它是否可能仅适用于 32 位 Ubuntu,而不适用于 64 位 Ubuntu?
注意:gmemusage(Ubuntu 建议)是完全不同的东西。
PS: 有什么替代方案可以让我在我的程序中找到分配热点?我正在尝试查看代码中所有内存的位置。
OS: Ubuntu 18.04.4 LTS
这是一个bug in Debian。
幸运的是,有 heaptrack 这正是您将内存分配跟踪回源代码所需要的。
它将打印出两个列表,一个按分配计数排序,一个按分配量排序。每个列表条目都是带有源代码行号的调用堆栈。
在我的 Ubuntu LTS 系统上,我有一个 manpage 用于记忆:
$ man memusage
MEMUSAGE(1) Linux user manual MEMUSAGE(1)
NAME
memusage - profile memory usage of a program
...
然而,当我尝试 运行 记忆时,却找不到。
在我的系统中搜索出现的结果是:
$ dpkg -S memusage
libc6-i386: /lib32/libmemusage.so
manpages: /usr/share/man/man1/memusage.1.gz
libc6-dbg:amd64: /usr/lib/debug/lib/x86_64-linux-gnu/libmemusage.so
libc6:i386: /lib/i386-linux-gnu/libmemusage.so
libreoffice-script-provider-bsh: /usr/lib/libreoffice/share/Scripts/beanshell/MemoryUsage/memusage.bsh
libc6:amd64: /lib/x86_64-linux-gnu/libmemusage.so
manpages: /usr/share/man/man1/memusagestat.1.gz
为什么有 memusage 的手册页,而不是命令本身?
它是否可能仅适用于 32 位 Ubuntu,而不适用于 64 位 Ubuntu?
注意:gmemusage(Ubuntu 建议)是完全不同的东西。
PS: 有什么替代方案可以让我在我的程序中找到分配热点?我正在尝试查看代码中所有内存的位置。
OS: Ubuntu 18.04.4 LTS
这是一个bug in Debian。
幸运的是,有 heaptrack 这正是您将内存分配跟踪回源代码所需要的。
它将打印出两个列表,一个按分配计数排序,一个按分配量排序。每个列表条目都是带有源代码行号的调用堆栈。