我有一个 VPS,正在为客户运行几个网站。运行free -h
显示以下内容:
~$ free -h
total used free shared buffers cached
Mem: 994M 855M 138M 39M 72M 420M
-/+ buffers/cache: 362M 631M
Swap: 511M 0B 511M
所以我有大约 138MB 的可用内存。我的问题是,您如何知道何时需要增加服务器上的物理内存量?当它开始持续占用交换空间时?
任何时候我都有大约 140-145MB 的可用内存。这是否表明可用内存量与总可用内存量相称?
答案1
最需要注意的是页面错误。在大多数 Linux 系统上,运行
ps -o min_flt,maj_flt
会为您提供一些累积统计数据,但实时性并不总是足够好。在检查系统的整体健康状况(包括内存、处理器、网络等)时,SAR 可能是您最好的朋友……请务必查看 sar 的手册页。但要回答页面错误,请运行:
sar -B
检查主要故障列,了解是否有任何重大情况。一些主要页面故障是正常的,但许多页面故障的累积通常表明您有一个进程正在不加选择地消耗内存,或者您需要增加服务器中的物理内存量。
最后要注意的是,当运行“free”来查看内存量时,请确保将缓冲区/缓存下列出的可用内存量添加回显示的总内存中。