Jon*_*onu 2 linux memory linux-kernel
我们在托管 SAP 应用程序的服务器上有 1TB 内存。
当应用程序运行时,显示的内存使用top量约为 700GB。当应用程序停止时,显示的内存使用量top降至 10GB。服务器重新启动后,内存使用量将达到 1GB。
top在重新启动后显示已使用 10GB 并获得 9GB?的输出free -g:
free -g
total used free shared buffers cached
Mem: 1009 567 442 0 0 152
-/+ buffers/cache: 415 594
Swap: 1 0 1
Run Code Online (Sandbox Code Playgroud)
小智 5
Linux 使用 RAM 的方式与其他操作系统不同。
Linux 不会将未使用的 RAM放在那里,而是存储它认为可能在 RAM 中使用的数据——任何应用程序、文件等都可以缓存在这里。
因此,Linux RAM 使用率高于运行应用程序所使用的内存。这种额外的使用被缓冲以被其他事物起诉。运行free -h,在used下的第二行会告诉你很多“已用”的内存实际上只是被缓存了。
在所有内存都被缓存并且程序需要内存的情况下,它将从缓存中删除足够的内存以适合该程序。