我想知道以下问题:当我启动计算机和 Xubuntu 时,它会在登录屏幕之前启动许多程序。是否可以通过 Valgrind 测量启动期间丢失的字节总数?就像是
For every program i do
valgrind i
答案1
如果进程终止,分配的内存将被设置为空闲
内存泄漏只能在进程运行时发生。
您可以使用 valgrind 来检测和分析机器启动后仍在运行的进程。
答案2
这里有一个难题:valgrind
在进程完成之前无法确定进程是否泄漏内存,此时,问题就没有实际意义了。
另外,并非所有软件(包括一些常用库)都会在退出时进行清理,这将使其出现泄漏内存。1 虽然这不是很多人认为的良好做法,但它不会对正常使用造成任何真正的问题。
请记住,内存泄漏的上下文仅限于泄漏它的进程。 该过程完成后,系统将回收所有使用的内存,无论是否“泄漏”。如果您想知道某个应用程序,您可以在 valgrind 中专门运行它(请记住我在上一段中的观点)。然而,发行版存储库中的大多数内容可能已经经历过这个过程,因此除非您真正熟悉该产品(及其源代码),否则您不太可能找到任何东西。
1. 这会让调试使用此类库的应用程序变得有点麻烦,抱怨抱怨。