c - 我怎么知道我的 .so 库的足迹?

标签 c linux memory shared-libraries static-libraries

在嵌入式中,我们经常听到像低占用空间库这样的词。

那么我怎么知道我的 library.so 或 library.a 文件的足迹..? 我怎么计算呢

和那个库的内存大小一样吗?

最佳答案

找出内存占用的唯一真正原因是运行使用该库的可执行文件并查看它如何使用它。可执行文件通常只使用库的一个子集。例如,一个库可能有一个列表,其中包含当客户端将另一个项目推送到列表时由库动态创建的对象。推送到列表的项目越多,库消耗的内存就越多。

您可以通过查看 procfs 查看进程消耗了多少内存(堆和其他):cat/proc//mem

ps aux”还会为您提供虚拟内存大小 (VSZ)。

关于c - 我怎么知道我的 .so 库的足迹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6932259/

相关文章:

sql - ORA-4030 Oracle : How to resolve

c - 错误 C4996 : 'scanf' : This function or variable may be unsafe in c programming

c++ - 与重置的计数器相比

c++ - C++ 标准对局部变量的存储、分配有什么保证?

linux - 打开后终端立即关闭

regex - 使用sed删除特定字符之间的字符

python - 如何在 python 中创建内存对齐缓冲区,如 C 中的 posix_memalign

c - 如何在非常慢的应用程序中查找内存泄漏?

c - GCC 中 -ffixed-<reg> 标志是否总是有问题?

linux - Dstat 某一特定进程的 CPU 使用率