内存

1、如图所示:

8G内存,使用了566M

-buffers/cache 的内存数【userd-buffers和cache的意思】: 566-17-153=566-170=396【确实如此】

+buffers/cache 的内存数 【等于第1行的 free + buffers + cached】 7417+17+153=7417+170=7587【确实如此】

也就是说真实的应用程序使用内存为 395M,未使用的为7588M

 

缓存并不是在进程结束的时候被回收(你可能很快会启动另外一个进程,需要同样的数据),而是随需回收–比如,当你启动一个需要大量内存的进程时,Linux核心会从内存中回收缓存,将得到的内存分配给新的进程.

2、

并不是580M左右的内存,应用程序使用的,空闲内存也并不是759M左右。

要用free -m查看,如【1】说明所示

3、任何一个进程的使用内存

#!/bin/sh
mem=`free -m | awk 'NR==2{print $2}'`
ps -aux 2>&1 | sort -k 4 -r | awk '$4 ~ /^[0-9]/ && $4>0 {print $4,$11}' | awk '{print $1/100*mem"   "$2}' mem=$mem | sort -k 2 | awk '
{
   a[$2] += $1;
   b[$2]++;
   total += $1;
   total++;
}
END{
  for(i in a){
    t=i;
    gsub(/:|.*\//, "", t);
    printf "%10s   %s\n" ,a[i]"MB", t"["b[i]"]";
  }
print "Memory Total: "mem"MB, used: "total"MB, free: "mem-total"MB."
}' mem=$mem | sort -n -r
~                         

 

posted @ 2015-04-17 16:11  kin2321  阅读(154)  评论(0编辑  收藏  举报