微软官方MSDN原版Win10系统下载

现在位置: 首页  > 系统教程  > Linux教程

Linux如何使用OOM killer 机制?

时间:2024-04-26 23:53:23   

大家好,今天Win10系统之家小编给大家分享「Linux如何使用OOM killer 机制?」的知识,如果能碰巧解决你现在面临的问题,记得收藏本站或分享给你的好友们哟~,现在开始吧!

生意如何小账本专业版-小商户销售和存货记账系列软件最新版本下载

  OOM killer 机制就是Linux杀死进程的以个机制,如果进程损坏系统资源到底某种程度,OOM killer 机制就会强制杀死进程。本文就来介绍一下Linux如何使用OOM killer 机制。

  简单来说该机制会监控那些占用内存过大,尤其是瞬间很快消耗大量内存的进程,为了防止内存耗尽而内核会把该进程杀掉。

  这个功能即使在无法释放内存的情况下,也能够重复进行确保内存的处理过程,防止系统停滞,还可以找出过度消耗内存的进程。

  典型的情况是:某天一台机器突然ssh远程登录不了,但能ping通,说明不是网络的故障或者机器down掉,很大可能是sshd进程被 OOM killer杀掉了。

  重启机器后查看系统日志/var/log/messages会发现 Out of Memory: Kill process 247(sshd)类似的错误信息。

  还有另外一种情况也会导致能ping不能ssh,就是网络连接过多把系统文件描述符资源耗尽,这里暂时不考虑这种情况。

  而在使用vip的高可用方案中,这种情况也很容易出现脑裂的现象。

  防止重要的系统进程触发(OOM)机制而被杀死:可以设置参数/proc/PID/oom_adj为-17,可临时关闭linux内核的OOM机制。内核会通过特定的算法给每个进程计算一个分数来决定杀哪个进程,每个进程的oom分数可以/proc/PID/oom_score中找到。

  我们认为重要的进程有sshd,或者一些监控守护进程,大家可以根据自己实际情况选择需要保护的进程。

  保护某个进程不被内核杀掉可以这样操作:

  echo -17 》 /proc/$PID/oom_adj

  可以写一个简单的脚本,部署在crontab上防止重要进程被oom

  pgrep -f “/usr/sbin/sshd” | while read PID;do echo -17 》 /proc/$PID/oom_adj;done

  其中的“/usr/sbin/sshd”可以替换为你认为重要的进程,不过在匹配时候注意不要匹配错了

  1.进程的选定方法

  OOM Killer在内存耗尽时,会查看所有进程,并分别为每个进程计算分数。将信号发送给分数最高的进程。

  2.计算分数的方法

上一页12下一页 剩下全文

以上就是关于「Linux如何使用OOM killer 机制?」的全部内容,本文讲解到这里啦,希望对大家有所帮助。如果你还想了解更多这方面的信息,记得收藏关注本站~

Win10系统之家②文章,转载请注明出处!】

相关文章

  • Linux如何使用OOM killer 机制?

    Linux如何使用OOM killer 机制?


      OOMkiller机制就是Linux杀死进程的以个机制,如果进程损坏系统资源到底某种程度,OOMkiller机制就会强制杀死进程。本文就来介绍一下Linux如何使用OOMkiller机制。
      简单来说该机制会监控那些占用内存过大,尤其是瞬间很快消耗大量内存的进程,为了防止内存耗尽而内核会把该进程杀掉。
      这个功能即使在无法释放内存的情况下,也能够重复进行确保内存的...
  • 如何使用命令行更改Linux系统的日期和时间

    如何使用命令行更改Linux系统的日期和时间


      Linux系统的时间有时候会不准,不准确的时间会导致日志文件中的时间出现错误,所以准确的时间是很重要的,那么要怎么更改Linux系统的时间呢?下面小编给大家介绍下使用命令行更改Linux系统时间和日期的方法步骤。
      问题:在Linux上,我怎样通过命令行来改变日期和时间?
      在Linux系统中保持日期和时间的同步是每一个Linux用户和系统管理员的重要责任。很多程...
  • Linux中如何使用rmdir命令指南

    Linux中如何使用rmdir命令指南


      我们都知道Linux命令中的rm命令主要用于删除文件,那么rmdir命令又有什么作用呢?下面小编就给大家介绍下Linux命令中rmdir命令的主要功能吧。
      rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的。(注意,rm-rdir命令可代替rmdir,但是有很大危险性。)删除某目录时也必须具有对父目录的写权限。
      1.命令格式:
  • Linux下如何使用命令监控服务器

    Linux下如何使用命令监控服务器


      如果你想要了解Linux服务器的目前状况,那么你就需要知道Linux服务器监控命令,使用Linux服务器监控命令,可以知道当前服务器正在做什么,那么Linux服务器监控命令有哪些呢?随小编一起来了解下吧。
      有些Linux发行版会提供GUI程序来进行系统的监控,例如SUSELinux就有一个非常棒而且专业的工具YaST,KDE的KDESystemGuard同样很出色。当然,...