首页 > 技术文章 > 【Linux基础】查看硬件信息-内存

badboy200800 2019-03-27 18:12 原文

 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

 

参考文档:

Linux查看内存命令及其对命令显示的解释

/PROC/MEMINFO之谜

推荐阅读