制作一个网站怎么做,任县网站建设加盟报价,jsp做的婚恋网站,网站开发技术报告模板文章目录 一、背景二、排查方案#xff1a;1. 可能是数据量超出了限制的大小#xff0c;检查数据目录大小2. 查看是否是内存溢出2.1 排查数据量#xff08;查看数据目录大小是否超过limit限制#xff09;2.2 查看pod详情发现问题 三、解决过程 一、背景
做redis压测过程中… 文章目录 一、背景二、排查方案1. 可能是数据量超出了限制的大小检查数据目录大小2. 查看是否是内存溢出2.1 排查数据量查看数据目录大小是否超过limit限制2.2 查看pod详情发现问题 三、解决过程 一、背景
做redis压测过程中发现paas环境的redis被OOMKill老是不断重启 Pod日志
二、排查方案
1. 可能是数据量超出了限制的大小检查数据目录大小
2. 查看是否是内存溢出
开始排查
2.1 排查数据量查看数据目录大小是否超过limit限制
limit限制为64G 查到数据目录占用很少 忽略此问题
2.2 查看pod详情发现问题 为了更准确的定位问题查看是否是内存泄露问题查看系统参数正常是没有输出 确定是由于压测导致的Cgroup内存泄露问题 定位原因以后解决问题 处理内存泄露问题试了三个方案才得以解决
三、解决过程
方案一修改grub文件
修改/etc/default/grub 为 GRUB_CMDLINE_LINUX“crashkernelauto net.ifnames0 biosdevname0 intel_pstatedisable cgroup.memorynokmem” 是追加 GRUB_CMDLINE_LINUX“consoletty0 consolettyS0 crashkernel512M-2G:128M,2G:512M rd.lvm.lvbel/root rhgb quiet cgroup.memorynokmem” 把 cgroup.memorynokmem 追加到最后即可生成配置 /usr/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg重启机器 reboot验证 cat /sys/fs/cgroup/memory/kubepods/burstable/pod*/*/memory.kmem.slabinfo 无输出即可。x版本cgroup.memory存在bugdocker或其他使用cgroup.memory中kmem功能的应用会造成slab内存泄漏 部分系统可以通过升级到4.x的修复版本来解决或者通过 cgroup.memorynokmem 启动项来规避。 部分系统不支持cgroup.memorynokmem 启动项可以通过 cgroup_disablememory 启动项来规避。此方案解决部分机器并未全部解决
方案二升级内核、Iaas建议 由于服务器均为多系统可以进行此操作 既然是 3.x 的问题直接升级内核到 5.x 及以上即可内核问题解释 https://github.com/torvalds/linux/commit/d6e0b7fa11862433773d986b5f995ffdf47ce672 https://support.mesosphere.com/s/article/Critical-Issue-KMEM-MSPH-2018-0006 这种方式的缺点是 需要升级所有节点节点重启的话已有 pod 肯定要漂移如果节点规模很大这个升级操作会很繁琐业务部门也会有意见要事先沟通。 这个问题归根结底是软件兼容问题3.x 自己都说了不成熟不建议你使用该特性k8s、docker却 还要开启这个属性。此方案并不奏效
方案三grubby在线修改内核参数 查看当前内核版本
--update-kernel 为当前内核版本文件
grubby --argscgroup.memorynokmem --update-kernel/boot/vmlinuz-3.10.0-1160.el7.x86_64重启主机 查看系统参数 显示正常 查看pod正常运行 附加知识点内存buff占用清理 -hcache
wget https://silenceshell-1255345740.cos.ap-shanghai.myqcloud.com/hcache
chmod 755 hcache mv hcache /usr/local/bin/
hcache --top 10查看内存 free -h buffers: 用于块设备数据缓冲记录文件系统metadata目录权限属性等) cached: 用于文件内容的缓冲
分别查看 清理缓存
仅清除页面缓存PageCachesync; echo 1 /proc/sys/vm/drop_caches清除目录项和inode# sync; echo 2 /proc/sys/vm/drop_caches清除页面缓存目录项和inode# sync; echo 3 /proc/sys/vm/drop_caches
清理交换空间swapoff -a swapon -a