如果遇到内存泄漏,是否会将内存使用情况计算到Linux上的进程中?

如果遇到内存泄漏,是否会将内存使用情况计算到Linux上的进程中?,linux,memory,memory-leaks,Linux,Memory,Memory Leaks,根据“top”命令的结果,内存使用经历了大量的增加。但是,根据每个进程的内存使用情况,使用的内存并不多 top - 19:57:01 up 1 day, 19:24, 6 users, load average: 0.17, 0.22, 0.57 Tasks: 500 total, 1 running, 499 sleeping, 0 stopped, 0 zombie Cpu(s): 0.1%us, 0.1%sy, 0.0%ni, 99.8%id, 0.0%wa, 0

根据“top”命令的结果,内存使用经历了大量的增加。但是,根据每个进程的内存使用情况,使用的内存并不多

top - 19:57:01 up 1 day, 19:24,  6 users,  load average: 0.17, 0.22, 0.57
Tasks: 500 total,   1 running, 499 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.1%us,  0.1%sy,  0.0%ni, 99.8%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  98858004k total, 90524192k used,  8333812k free,  1039700k buffers
Swap: 16777208k total,        0k used, 16777208k free, 72896460k cached
Linux似乎会将缓冲区/缓存内存的使用标记为已使用,但应用程序不会使用它们。在这种情况下,我仍然有可用的日志内存

但是,内存和交换随后耗尽,这导致服务器出现故障。这是否可能是某些应用程序的内存泄漏


如果遇到内存泄漏,是否将内存使用情况计算到进程中

free -m
             total       used       free     shared    buffers     cached
Mem:         96541      88445       8095          0       1016      71223
-/+ buffers/cache:      16205      80335
Swap:        16383          0      16383

如果遇到内存泄漏,是否将内存使用情况计算到进程中

free -m
             total       used       free     shared    buffers     cached
Mem:         96541      88445       8095          0       1016      71223
-/+ buffers/cache:      16205      80335
Swap:        16383          0      16383
是的,内存泄漏只是不再需要但尚未释放的数据(垃圾)

但是,内存和交换随后耗尽,这导致服务器出现故障。这是否可能是某些应用程序的内存泄漏


,监视器程序使用somuch RAM并使用

进行调试,确保
/proc/sys/vm/overmit\u内存
为0。如果不是这样,就很难发现失控的记忆吞噬过程。

TL;博士 只要泄漏不在内核中,任何泄漏的内存都应该针对应用程序的进程进行说明

Linux与自由内存 Linux在缓存方面非常激进,并且倾向于分配大量可用内存来缓存文件系统块和存储缓冲区。它是非常动态的,因此如果应用程序需要,这个空间仍然可以使用,但与此同时,Linux尝试使用它

换句话说,不要认为使用的内存百分比过高是内存泄漏的征兆。对于内核来说,一切照旧

另见