我有一个可怜的人 vps - 256MB 专用内存。我已经安装了 LAMP。服务器上目前还没有网站处于 UP 状态。
内存使用量仍然是 225MB(只有 31MB 可用)。
我已经使用 top 和另一种方法进行了测量。Top 说使用了大约 225mb,但如果我总结这些过程,它只有 20%。
我用来测量内存的另一个脚本:
#!/bin/bash
bean=`cat /proc/user_beancounters`
guar=`echo "$bean" | grep vmguar | awk '{ print $4;}'`
priv=`echo "$bean" | grep privvm | awk '{ print $2;}'`
let totl=guar/256
let used=priv/256
let free=$totl-$used
echo "VPS Memory:"
echo " total: $totl mb used: $used mb free: $free mb"
Run Code Online (Sandbox Code Playgroud)
给出相同的结果(使用 225MB)。
我已经重新启动了服务器,但仍然使用了 225MB 内存。我怎样才能找到罪魁祸首的过程。请帮忙!
============
ps efax -o command,vsize,rss,%mem,size 的输出表明只有 20% (aournd 50MB) 被进程实际使用。
(由于内存不足,apt-get install imagemagick 失败。我想我需要使用更高的内存,如 512 MB。我认为失败可能是由于这种“虚假”内存使用)。
有什么方法可以知道内存是否确实可用作缓存(顶部显示缓冲区/缓存为 0 - 我听说如果 RAM 可用作缓存,它会显示为“缓冲区或缓存)。
free -m 的输出:
free -m
total used free shared buffers cached
Mem: 256 226 29 0 0 0
-/+ buffers/cache: 226 29
Swap: 0 0 0
Run Code Online (Sandbox Code Playgroud)
它显示的空闲缓冲区/缓存也为 29 MB :(