1.使用free命令查看内存使用
(1)内存总量大小:查看Mem中的total值3697M
free -m
total used free shared buffers cached
Mem: 3697 3301 396 911 25 2114
-/+ buffers/cache: 1161 2536
Swap: 2421 1 2420
(2)实际使用内存大小:查看-/+ buffers/cache中used值1161M
free -m
total used free shared buffers cached
Mem: 3697 3301 396 911 25 2114
-/+ buffers/cache: 1161 2536
Swap: 2421 1 2420
(3)实际空闲内存大小:查看-/+ buffers/cache中free值2536M
free -m
total used free shared buffers cached
Mem: 3697 3301 396 911 25 2114
-/+ buffers/cache: 1161 2536
Swap: 2421 1 2420
(4)free命令详解
free //默认单位为k,可以使用free -b -k -m -g -t
total used free shared buffers cached
Mem: 3266180 3250004 16176 0 110652 2668236
-/+ buffers/cache: 471116 2795064
Swap: 2048276 80160 1968116
第一列:Mem,从操作系统的角度来看内存使用。
对于操作系统来说buffers/cached 都是属于被使用。 total = used + free ,即3266180=3250004+16176,其中used含buffers和cached。
第二列:-/+ buffers/cache,从应用程序角度来看内存使用。
对于应用程序来说buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。
实际使用内存 =系统的used-buffers-cached,即471116=3250004-110652-16176
实际剩余内存=系统的free+buffers+cached,即2795064=16176+110652+2668236
2.使用/proc/meminfo查看内存大小
//查看内存总量大小(GB)
cat /proc/meminfo | grep -i memtotal | awk -F " " '{print $2/1024/1024 "GB"}'
//查看剩余内存大小(KB)
cat /proc/meminfo | grep -i memfree | awk -F " " '{print $2 "KB"}'
/proc/meminfo是了解Linux系统内存使用状况的主要接口,我们最常用的”free”、”vmstat”等命令就是通过它获取数据的。
MemTotal:系统从加电开始到引导完成,firmware/BIOS要保留一些内存,kernel本身要占用一些内存,最后剩下可供kernel支配的内存就是MemTotal。这个值在系统运行期间一般是固定不变的。可参阅解读DMESG中的内存初始化信息。
MemFree:表示系统尚未使用的内存。[MemTotal-MemFree]就是已被用掉的内存。
3.查看内存条数
//内存条大小
dmidecode |grep -A16 "Memory Device$"|grep -i "size"|grep -iv "No module installed"
//剩余空内存插槽个数
dmidecode |grep -A16 "Memory Device$"|grep -i "size"|grep -i "No module installed"|wc -l
参考文档:
来源:oschina
链接:https://my.oschina.net/u/4396169/blog/3596339