设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 2255|回复: 1

Linux centos7系统执行yum跳出Exiting on user cancel解决办法,总是被Killed,内存不足杀死进程,无法启动锐速tcp加速,kvm虚拟化动态内存超售(HugePages)

[复制链接]
 成长值: 252

签到天数: 4709 天

[LV.Master]伴坛终老

发表于 2021/7/31 21:34 | 显示全部楼层 |阅读模式 |Google Chrome 92.0.4515.107|Windows 10
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
Linux centos7系统执行yum跳出Exiting on user cancel解决办法,总是被Killed,内存不足杀死进程,无法启动锐速tcp加速,kvm虚拟化动态内存超售(HugePages)

yum无法执行是内存不足导致的,定位到
[root@test ~]# dmesg | grep 'Out of memory'
[  297.018784] Out of memory: Kill process 1284 (yum) score 7 or sacrifice child
[  311.199801] Out of memory: Kill process 834 (tuned) score 4 or sacrifice child
[  311.419631] Out of memory: Kill process 1145 (kangle) score 3 or sacrifice child
[  311.874535] Out of memory: Kill process 833 (mysqld) score 1 or sacrifice child
[  311.908636] Out of memory: Kill process 491 (polkitd) score 1 or sacrifice child
[  311.936735] Out of memory: Kill process 1133 (cdnbest) score 1 or sacrifice child
[  312.010911] Out of memory: Kill process 561 (NetworkManager) score 0 or sacrifice child
[  312.025528] Out of memory: Kill process 562 (gmain) score 0 or sacrifice child
[  312.356744] Out of memory: Kill process 1216 (sshd) score 0 or sacrifice child
[  312.577229] Out of memory: Kill process 1216 (sshd) score 0 or sacrifice child
[  312.605899] Out of memory: Kill process 1396 (lotServer.sh) score 0 or sacrifice child
[  312.665263] Out of memory: Kill process 1112 (rsyslogd) score 0 or sacrifice child
[  312.694343] Out of memory: Kill process 1149 (in:imjournal) score 0 or sacrifice child
[  312.856384] Out of memory: Kill process 1432 (systemd-udevd) score 0 or sacrifice child
[  313.001333] Out of memory: Kill process 1431 (systemd-udevd) score 0 or sacrifice child
[  313.433675] Out of memory: Kill process 1142 (kangle) score 0 or sacrifice child
[  313.653308] Out of memory: Kill process 1118 (crond) score 0 or sacrifice child
[  313.863466] Out of memory: Kill process 1425 (acce-3.11.36.2-) score 0 or sacrifice child
[  485.989867] Out of memory: Kill process 1539 (yum) score 5 or sacrifice child
[  526.442162] Out of memory: Kill process 1540 (yum) score 7 or sacrifice child
[  527.566683] Out of memory: Kill process 1540 (yum) score 7 or sacrifice child
[  527.775615] Out of memory: Kill process 1540 (yum) score 7 or sacrifice child
[  714.152401] Out of memory: Kill process 1649 (yum) score 6 or sacrifice child
[  768.726852] Out of memory: Kill process 1656 (yum) score 6 or sacrifice child
[  769.955937] Out of memory: Kill process 1656 (yum) score 6 or sacrifice child
[  794.681401] Out of memory: Kill process 1656 (yum) score 6 or sacrifice child
[  883.994721] Out of memory: Kill process 1661 (yum) score 6 or sacrifice child
[  959.288157] Out of memory: Kill process 1667 (yum) score 6 or sacrifice child
[ 1000.197305] Out of memory: Kill process 1667 (yum) score 12 or sacrifice child


之前系统重启后锐速启动不了也是这个原因。。。
1.jpg

分析了下是vps服务器使用的为kvm虚拟化,查了下原来是机房kvm虚拟化做了动态内存超售
服务器总是执行不了yum跳出Exiting on user cancel,开机就自动用尽了内存,在尝试增加swap
1.png

解决办法如下,执行命令,禁止kvm虚拟化执行动态内存,优先使用这个命令尝试解决,未观察到内存下降,,基本就没戏,无法解决该问题,,,直接去服务器商提供的后台面板重装系统,安装系统完成后直接使用,不要执行reboot重启就行
  1. rmmod virtio_balloon
复制代码



或者该贴试一下,类似的问题

Linux下简单通过dmesg抓包搜索被系统内核因为物理内存不足杀死进程的日志记录
https://bbs.itzmx.com/thread-89619-1-1.html

最后发现是内核开启了HugePages 2M这个东西,导致了大量的内存占用
  1. cat /proc/meminfo | grep Huge
复制代码


输出,单个页面2M,一共198个页面,HugePages共占用内存396M
[root@centos ~]# cat /proc/meminfo | grep Huge
AnonHugePages:         0 kB
HugePages_Total:     198
HugePages_Free:      190
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB


解决办法,打开文件删除相关参数“vm.nr_hugepages=1172”
  1. vi /etc/sysctl.conf
复制代码


一键删除
  1. sed -i '/^vm\.nr_hugepages=/'d /etc/sysctl.conf
复制代码


查看系统当前值
  1. cat /proc/sys/vm/nr_hugepages
复制代码


该值应该始终为0,不重启修改值命令,增大该值立即生效,降低为0关闭需要重启生效
  1. sysctl -w vm.nr_hugepages=0
复制代码



某Linux系统安装脚本判断hugepages开启有BUG,导致小内存机器也强行打开2.5G hugepages,导致服务器内核崩溃无法启用开机
某些软件错误判断内存引起错误打开hugepages引起内核崩溃无法开机的BUG修复
出错相关代码,请进行修正改为-gt判断
  1.   if [[ $(grep MemTotal /proc/meminfo | awk '{print $2}') > 3500000 ]]; then
  2.     echo "[*] Enabling huge pages"
  3.         echo "[*] 启用 huge pages"
  4.     echo "vm.nr_hugepages=$((1168+$(nproc)))" | sudo tee -a /etc/sysctl.conf
  5.     sudo sysctl -w vm.nr_hugepages=$((1168+$(nproc)))
  6.   fi
复制代码


修复后代码
  1.   if [[ $(grep MemTotal /proc/meminfo | awk '{print $2}') -gt 3500000 ]]; then
  2.     echo "[*] Enabling huge pages"
  3.         echo "[*] 启用 huge pages"
  4.     echo "vm.nr_hugepages=$((1168+$(nproc)))" | sudo tee -a /etc/sysctl.conf
  5.     sudo sysctl -w vm.nr_hugepages=$((1168+$(nproc)))
  6.   fi
复制代码


AnonHugePages是一个必须禁用的系统内核优化
https://bbs.itzmx.com/thread-110231-1-1.html

[发帖际遇]: 小樱 乐于助人,奖励 5 贡献. 幸运榜 / 衰神榜
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

签到天数: 1164 天

[LV.10]以坛为家III

发表于 2021/8/28 04:10 | 显示全部楼层 |Google Chrome 92.0.4515.159|Windows 10
[发帖际遇]: 不可名 在论坛发帖时没有注意,被小偷偷去了 5 樱币. 幸运榜 / 衰神榜
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2024/11/25 02:31 , Processed in 0.127278 second(s), 22 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

快速回复 返回顶部 返回列表