热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

升级服务器内核解决Kernel内存泄露

集群新增几台机器后,个别机器出现内存使用居高不下的状况.128G的内存使用量长期在80多G,截图如下:使用smem命令查看内存使用状况[root机器名~]#smem-twkAr

集群新增几台机器后,个别机器出现内存使用居高不下的状况.128G的内存使用量长期在80多G,截图如下:

使用smem命令查看内存使用状况

[root@机器名 ~]# smem -twk
Area Used Cache Noncache
firmware/hardware 0 0 0
kernel image 0 0 0
kernel dynamic memory 89.7G 41.6G 48.0G
userspace memory 31.7G 174.6M 31.6G
free memory 4.3G 4.3G 0
----------------------------------------------------------125.6G 46.1G 79.6G

可以看到,kernel的动态内存占用了约90G,所以推测是Linux内核存在内存泄露的问题.SO~   升级内核.以下为升级步骤

 

1-停止Cloudera该机器上所有角色(cloudera界面操作,不做详细描述)

2-停止cloudera-agent (cloudera界面操作,不做详细描述)

以上两步若有问题,可以参考我的另一篇博客:记一次CDH集群磁盘扩容(热插拔)详细步骤

3-查看内核信息

[root@y机器名 ~]# uname -a
Linux 机器名 3.10.0-229.el7.x86_64 #1 SMP Fri Mar 6 11:36:42 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

其中,3.10.0-229.el7.x86_64为当前内核版本,主要关注一下229这个数字.

4-执行安装命令,查看安装时的kernel版本

[root@机器名 ~]# yum install kernel
Loaded plugins: fastestmirror, langpacks, versionlock
...
===========================================================================================Package Arch Version Repository Size
===========================================================================================
Installing:kernel x86_64 3.10.0-1062.9.1.el7
...
Total download size: 148 M
Is this ok [y/d/N]:

注意内核版本是3.10.0-1062.9.1.el7  ,上一次同事升级时是3.10.0-957.21.3.el7.,也是可以解决问题的.

5-升级成功后,重启机器:执行reboot命令

6-重启后验证

查看内核版本:已更新为3.10.0-1062.9.1.el7.x86_64

[root@机器名 ~]# uname -a
Linux 机器名 3.10.0-1062.9.1.el7.x86_64 #1 SMP Fri Dec 6 15:49:49 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

执行smem命令查看内存使用情况:可以看出kernel的动态内存已经释放(因不确定是否还会继续增加,所以要监控一段时间),按照之前的经验,此时问题应该是解决了.

[root@机器名 ~]# smem -twk
Area Used Cache Noncache
firmware/hardware 0 0 0
kernel image 0 0 0
kernel dynamic memory 27.9G 26.9G 1017.7M
userspace memory 160.3M 34.7M 125.6M
free memory 97.6G 97.6G 0
----------------------------------------------------------125.7G 124.5G 1.1G

7-恢复服务

执行agent启动命令(不做详细描述,可参考前边博客)

CDH界面启动该机器上所有角色(不做详细描述,可参考前边博客)

 

以上为升级内核解决系统内存泄露的过程.感谢耐心阅读.

 


推荐阅读
  • PatchODAX8: ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 通过Anaconda安装tensorflow,并安装运行spyder编译器的完整教程
    本文提供了一个完整的教程,介绍了如何通过Anaconda安装tensorflow,并安装运行spyder编译器。文章详细介绍了安装Anaconda、创建tensorflow环境、安装GPU版本tensorflow、安装和运行Spyder编译器以及安装OpenCV等步骤。该教程适用于Windows 8操作系统,并提供了相关的网址供参考。通过本教程,读者可以轻松地安装和配置tensorflow环境,以及运行spyder编译器进行开发。 ... [详细]
  • docker安装到基本使用
    记录docker概念,安装及入门日常使用Docker安装查看官方文档,在"Debian上安装Docker",其他平台在"这里查 ... [详细]
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • Windows 7 部署工具DISM学习(二)添加补丁的步骤详解
    本文详细介绍了在Windows 7系统中使用部署工具DISM添加补丁的步骤。首先需要将光驱中的安装文件复制到指定文件夹,并进行挂载。然后将需要的MSU补丁解压并集成到系统中。文章给出了具体的命令和操作步骤,帮助读者完成补丁的添加过程。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • PeopleSoft安装镜像版本及导入语言包的方法
    本文介绍了PeopleSoft安装镜像的两个版本,分别是VirtualBox虚拟机版本和NativeOS版本,并详细说明了导入语言包的方法。对于Windows版本,可以通过psdmt.exe登录进入,并使用datamover脚本导入语言包。对于Linux版本,同样可以使用命令行方式执行datamover脚本导入语言包。导入语言包后,可以实现多种语言的登录。参考文献提供了相关链接以供深入了解。 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • 目前Miniconda3的主要版本已经不支持python3.6,以Windows为例,在官网Miniconda—Condadocumentation中只有python3.7 ... [详细]
  • 三、查看Linux版本查看系统版本信息的命令:lsb_release-a[root@localhost~]#lsb_release-aLSBVersion::co ... [详细]
  • 【技术分享】一个 ELF 蠕虫分析
    【技术分享】一个 ELF 蠕虫分析 ... [详细]
author-avatar
有些疯癫的小红帽
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有