【发布时间】:2010-12-30 11:34:00
【问题描述】:
如果我去 WHM 查看服务器的内存使用情况,它会说只有 16% 的内存在使用。 但是当我使用 SSH 连接到服务器并运行命令“free -m”时,它显示 80% 正在使用中。这是为什么?我想知道像 MySQL、Apache 等运行的所有应用程序的确切内存使用情况。 我怎么看?
谢谢
【问题讨论】:
标签: linux memory-management cpan whm
如果我去 WHM 查看服务器的内存使用情况,它会说只有 16% 的内存在使用。 但是当我使用 SSH 连接到服务器并运行命令“free -m”时,它显示 80% 正在使用中。这是为什么?我想知道像 MySQL、Apache 等运行的所有应用程序的确切内存使用情况。 我怎么看?
谢谢
【问题讨论】:
标签: linux memory-management cpan whm
正如他们所说,“这很复杂”。
Linux 使用未使用的内存进行磁盘缓冲和缓存。它加快了速度。但是您可能需要查看 free 的 -/+ buffers/cache 行。
'ps' 可以为您显示任何给定进程或所有进程的 %cpu、%mem,cumulative cpu-time,rss(驻留集大小,进程正在使用的非交换物理内存),size(非常如果进程需要的交换空间的近似量脏所有可写页面然后被换出),vsize(整个进程的虚拟内存使用(vm_lib + vm_exe + vm_data + vm_stack))等等.
对于任何给定的进程,您可以 cat /proc/$PID/status -- 它是人类可读的 -- 并检查 VmSize、VmLck、VmRSS、VmData、VmStk >、VmExe、VmLib和VmPTE价值观,以及其他...
但这只是初学者......进程可以分配内存但不能使用它。 (可以分配内存,但在实际使用内存页面之前不会创建/发布内存页面。整个按需操作。)
进程可以映射到硬件空间,表现为使用大量实际上并非来自系统 RAM 的内存。 (众所周知,X-servers 有时会这样做。这是涉及内核驱动程序的一些不稳定的东西......)
有可执行文件,通常是内存映射文件。这意味着换入的部分会占用 RAM,但换出时它不会占用交换文件空间。
进程可以有其他内存映射文件...
有共享内存库,其中多个程序同时使用相同的 RAM 页面。
所以我们不得不问,就记忆而言,究竟什么重要,什么不重要?
【讨论】: