losingwind 发表于 2015-04-10 16:29

请教内存使用的问题

直接上例子
# free
             total       used       free   shared    buffers   cached
Mem:       3924444    2699912    1224532          0       6920      20476
-/+ buffers/cache:    2672516    1251928
Swap:      7167992          0    7167992

# ps -e -o 'rsz' | sed -n '2,$p' | sort -n -r | awk '{sum += $1};END {print sum}'
68112

上面例子里,free命令看到物理内存使用量为2672516,第二条命令看到所有进程使用的物理内存总和为68112,二者相差巨大,那其他被使用的内存是被谁用了??
这个问题困扰很久了,希望大牛帮我解惑,谢谢~~~:em03:

镇水铁牛 发表于 2015-04-10 22:30

-/+ buffers/cache:    2672516 已经说明是buffer /cache所占用的内存,你drop cache后再看看,命令如下:
echo 3 > /proc/sys/vm/drop_caches

losingwind 发表于 2015-04-14 00:43

回复 2# 镇水铁牛


    不是的,这一行是-/+buffer,第一个数据是第一行的已用内存used减去第一行的buffer和cache,第二个数据是可用内存free加上buffer和cache,所以第二行的数据才是真实的数据。
页: [1]
查看完整版本: 请教内存使用的问题