非io优化实例CentOS 7系统 4G内存 free -m 显示内存3.5g左右-阿里云开发者社区

开发者社区> 阿里云支持与服务> 正文
登录阅读全文

非io优化实例CentOS 7系统 4G内存 free -m 显示内存3.5g左右

简介: 非io优化实例CentOS 7系统 4G内存 free -m 显示内存3.5g左右

问题现象

具体现象如下图:
BaiduShurufa_2017_7_8_11_29_26
从截图看,内存在3.5G左右,虽然linux系统会因为内核,加载的模块,显存等占用部分内存,导致free -m 查看时候显示少于物理机内存,但是这个少近0.5G感觉还是很怪异的。

dmidecode -t memory

BaiduShurufa_2017_7_8_11_34_17
dmidecode -t memory命令核实物理内存分配并没有错误。

问题原因

经核实这个是xen balloon driver 的内核bug导致。

解决方法

既然是内核bug那就升级内核解决:

yum update kernel

BaiduShurufa_2017_7_8_11_46_23
重启主机后查看:
BaiduShurufa_2017_7_8_11_49_26
很不幸升级到CentOS官方的最新内核无法解决这个问题.
使用第三方内核,注意第三方内核可能有未知问题和bug,操作方法:

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org 
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-ml

BaiduShurufa_2017_7_8_13_15_35

BaiduShurufa_2017_7_8_13_16_1

安装完成后修改grub配置使用新内核。
查看有那些内核版本

cat /boot/grub2/grub.cfg |grep menuentry

BaiduShurufa_2017_7_8_13_18_45
配置默认内核

grub2-set-default "CentOS Linux (4.12.0-1.el7.elrepo.x86_64) 7 (Core)"

验证是否配置成功

grub2-editenv list 

BaiduShurufa_2017_7_8_13_21_59
配置没有问题后重启主机验证。
BaiduShurufa_2017_7_8_13_25_24
如图已经使用新内核,内存显示3948M。

注意

毕竟是通过第三内核解决的问题,第三方内核稳定性,是否有其他bug未经过测试,可能影响稳定性,如有异常建议使用io优化实例,或者使用centos 6系统。
io优化实例:
BaiduShurufa_2017_7_8_13_36_22
CentOS 6 非io优化实例:
BaiduShurufa_2017_7_8_13_43_25

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

分享阿里云支持与服务团队最佳实践、经典案例与故障排查。

官方博客
最新文章
相关文章
文档