Loading
0

Linux系统中关于内存的一些详情说明

技术小学生微信公众号
腾讯云服务器大促销。
华为服务器
前言:本文章介绍在Linux系统中内存的一些常用查看及一些场景的说明,比如linux查看物理内存、查看内存使用率、内存使用率的计算方法等,留下记号,好记性不如烂笔头,防止自己忘记了。
查看内存情况:
1、top命令

2、free命令:

说明:
1882048 total:总的可用内存大小,以kb为单位,换算为M等于1882048/1024=1837M=1.83G
92408 free:可用内存大小,换算为M等于92408/1024=90M(为什么只有这么小?别急,看完下面就明白了)
584688 used:已用内存大小,换算为M等于584688/1024=570M
1204952 buff/cache:系统预分配的可用内存容量,换算为M等于1204952/1024=1176M
系统可用内存实际上是buff/cache+free=1204952+92408=1297360/1024=1266M=1.26G
内存使用率计算:
已用大小*100/总内存大小=584688*100/1882048=30%
使用命令计算内存使用率

free -k | sed -n '2p' | awk '{print "total: "$2" KB, used: "$3" KB,used percent: "$3*100/$2"%"}'


第二种计算方法:
执行命令:以M显示

cat /proc/meminfo | awk '{print $1,$2/1024" MB"}'|column -t

显示如图:
[root@blog_tag_gg ~]# cat /proc/meminfo | awk '{print $1,$2/1024" MB"}'|column -t
MemTotal:           1837.94      MB
MemFree:            86.832       MB
MemAvailable:       1035.77      MB
Buffers:            56.5781      MB
Cached:             988.141      MB
SwapCached:         12.7891      MB
Active:             769.344      MB
Inactive:           733.23       MB
 
以G显示:

cat /proc/meminfo | awk '{print $1,$2/(1024*1024)" GB"}'|column -t


根据上面信息计算内存使用率(相比更准确一些)
公式:
MemTotal-MemAvailable)/MemTotal*100=内存使用率

(1837.94 -1035.77)/1837.94 *100=43.6%

查看系统物理内存大小

[root@blog_tag_gg ~]# dmidecode|grep Size
        Runtime Size: 96 kB
        ROM Size: 64 kB
        Size: 2048 MB
        Range Size: 2 GB

问:为什么我2G内存,可用内存只有1.7或者1.8G左右?
答:部分内存被内核划分到其他用途了,这个是linux系统内核的分配机制。

问:ECS各任务内存加起来,与控制台显示的内存使用率不一致
答:top中不会包含一些系统占用内存和cache缓存的占用统计,因为这些内存不被具体的分配到某一些进程使用中。
具体的系统内存使用率可以使用命令:cat /proc/meminfo | awk '{print $1,$2/1024" MB"}'|column -t 进行分析。
另外,云监控对于内存的采集方式不同于系统内的free和top直接展示具有实时性,所以其中肯定会存在一些差距。
从准确性来看,两者没有太大的区别,请以占用高的统计为准,这表示了您的系统内存在某一个时间内的使用率,也包含了cache未来得及释放的缓存。
使用htop命令查看内存使用情况:
htop命令可以直观的看到内存使用情况以及进程占用内存情况,比top命令更友好一些,执行命令后如图

说明:
1、Mem选项:使用内存/可用内存,如上图,654/1.79G 则表示可用内存为1.79G,已使用654M。
2、可鼠标点击CPU%或者MEM%会根据内存或cpu使用高低排序。
查看占用内存最大的前20个进程可使用如下命令

ps auxw|head -1;ps auxw|sort -rn -k4|head -20


 

技术小学生微信公众号
华为服务器
腾讯云服务器大促销。

声明:站长码字很辛苦啊,转载时请保留本声明及附带文章链接:https://blog.tag.gg/showinfo-3-36247-0.html
亲爱的:若该文章解决了您的问题,可否收藏+评论+分享呢?
上一篇:Linux系统常见的CPU/Load/IO负载高负载异常分析方法
下一篇:Mac苹果系统配置秘钥免密登录Linux系统方法