Linux 内存使用量远大于所有应用程序使用内存的总和?

标签 linux memory operating-system

我正在使用“free -m -t”命令来监控我的 linux 系统并获取

             total       used       free     shared    buffers     cached

Mem:         64334      64120        213          0        701      33216

-/+ buffers/cache:      30202      34131

Swap:          996          0        996

Total:       65330      64120       1209

这意味着用户进程使用了​​ 30GB 的物理内存。

但是当使用 top 命令并按内存使用情况排序时,所有应用程序进程仅使用 3~4GB 内存。

为什么会出现这种不一致?

最佳答案

据我了解,top 显示的已用内存量包括不再运行的旧进程的冷内存。这是因为在重启所述进程的情况下,所需数据可能仍在内存中,从而使系统能够更快、更高效地启动进程,或者总是从磁盘重新加载数据。

或者,简而言之,linux 通常会尽可能晚地释放内存中的冷数据。

希望一切顺利:)

关于Linux 内存使用量远大于所有应用程序使用内存的总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12489472/

相关文章:

c - 在 C 中设置 open() 系统调用的权限

architecture - 为什么GDT和IDT没有更好的定义?

linux - 创建一个脚本,将代码行添加到 .bashrc,然后重新加载终端

Linux 内核/proc FIFO/管道

regex - 简单的正则表达式帮助

linux - 使用 Linux 和 Bluez 5.0 的多个 BLE 连接

ruby - 如何避免类和全局变量

php - 测量最大 PHP 内存使用量

c - 存储在.data 或.bss 段中的静态或全局数据是否应该在程序执行前加载?

c++ - 共享库如何避免被利用?