如果我去WHM并查看服务器的内存使用情况,则说只有16%的内存正在使用。但是,当我使用SSH连接到服务器并运行命令“ Free -M”,则表明正在使用80%。这是为什么?我想知道所有运行的应用程序,例如MySQL,Apache等的确切内存使用情况,该如何查看?

谢谢

有帮助吗?

解决方案

正如他们所说的,“这很复杂”。

Linux使用未使用的内存进行磁盘缓冲和缓存。它加快了速度。但是您可能需要看 - /+缓冲区/缓存 线的线 自由的.

'PS' 可以向您展示任何给定的过程,也可以在所有过程中向您展示 %中央处理器, %mem, 累积CPU时间, RSS (居民设置大小,进程正在使用的未交换物理内存), 尺寸 (非常 如果该过程使所有可写的页面弄脏,然后被互换),则需要大约需要的交换空间。 vsize (整个过程的虚拟内存使用量(vm_lib + vm_exe + vm_data + vm_stack),等等。

对于任何给定的过程,您可以猫/proc/$ pid/status-它是人类可读的 - 并查看 VMIZE, VMLCK, VMRSS, VMDATA, VMSTK, VMEXE, vmlib, , 和 vmpte 价值观,以及其他人...

但这仅适用于初学者...过程可以分配内存,但不能使用它。 (可以分配内存,但是内存页面才能创建/发行,直到实际使用。

进程可以在硬件空间中映射,显示出使用大量内存,这些内存实际上并非来自System RAM。 (众所周知,X-Servers有时会这样做。这是一些涉及内核驱动程序的怪异的东西...)

有可执行文件,通常是内存映射的文件。这意味着交换的零件正在占用RAM,但是当换掉时,它永远不会占用交换空间。

进程可以拥有其他内存映射文件...

有共享的内存库,其中多个程序同时使用相同的RAM页面。

因此,就记忆而言,我们必须问到什么到底是什么,什么不计?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top