当前位置: 首页 > news >正文

虚拟主机销售网站技术支持:淄博网站建设

虚拟主机销售网站,技术支持:淄博网站建设,南通网站流量优化,网商之窗官网说明 Linux进程被杀掉(OOM killer),查看系统日志 oom killer 详解 测试服务器, 有一个 Java 应用, 其进程偶尔会消失掉, 已排除人为杀死的可能 该服务器内存常年处于快被占满的状态, 怀疑是内存原因, 导致服务器主动杀死了该应用的 Java 进程…

说明

Linux进程被杀掉(OOM killer),查看系统日志

oom killer 详解

测试服务器, 有一个 Java 应用, 其进程偶尔会消失掉, 已排除人为杀死的可能

该服务器内存常年处于快被占满的状态, 怀疑是内存原因, 导致服务器主动杀死了该应用的 Java 进程

使用的命令

  • free -h, 用于查看系统内存使用情况, 显示系统当前的内存使用情况,以及内存总量、已用内存、空闲内存等信息
  • top, 列出当前运行的进程,并显示每个进程的相关信息,如进程 ID、用户、CPU 使用率、内存使用量、进程状态等
    • c 键显示完整 cmdline
    • 切换排序方式:
      • P:按照 CPU 使用率高低排序。
      • M:按照内存使用量高低排序。
      • T:按照运行时间长短排序。
    • 进程操作:
      • k:杀死选定的进程。按下 k 后,会提示输入要杀死的进程的 PID(进程ID)。
      • r:修改进程的优先级。按下 r 后,会提示输入要修改优先级的进程的 PID 以及新的优先级值。
    • 切换显示方式:
      • vF:打开字段管理器,可以添加或删除显示的列。
      • oO:按照指定的字段进行排序,输入 o 后,会提示输入字段的序号进行排序。
    • 查看帮助和退出:
      • h:显示帮助信息,列出所有可用的快捷键。
      • q:退出 top 命令。
    • 刷新和暂停:
      • Space:刷新 top 的显示。
      • S:切换安全模式,延迟显示,适用于终端速度慢的情况。
      • 1:显示所有 CPU 的利用率。

经过一番了解, 得知 Linux 服务器有一个叫做 OOM Killer 的机制, 大致就是该机制会监控那些占用内存过大(尤其是瞬间占用内存很快的进程), 然后防止内存耗尽而自动把该进程杀掉

通过执行 grep java /var/log/messages | grep "Out of memory" 发现最近几日都有 Java 进程被杀掉的日志记录, 但是无法确定对应 PID 是否是我们的应用, 所以需要验证

#!/bin/bash
for proc in $(find /proc -maxdepth 1 -regex '/proc/[0-9]+'); doprintf "%2d %5d %s\n" "$(cat $proc/oom_score)" "$(basename $proc)" "$(cat $proc/cmdline | tr '\0' ' ')"
done 2>/dev/null | sort -nr | head -n 10

上述是一个查看 OOM Killer 给各个进程打分的脚本, 执行该脚本即可找出最有可能被杀掉的进程, 从左到右分别是 score pid cmdline, 分数越高被杀的优先级越高

其中第一个是一个 Java 进程 overview.jar, 其 pid 为 91917, 得分为 165, 第二名的得分为 84

自己写一个新程序, 每次调用接口都会多占用 8M 内存, 多次调用, 直至系统触发 OOM Killer

private static final Map<String, List<Long>> MAP = new HashMap<>();@RequestMapping("test")
public Result<Object> test() {MAP.put(IdKit.uuid(), new ArrayList<>(1024 * 1024));return Result.ok();
}

经过测试, 果然 overview.jar 程序被杀死了, 且在 /var/log/messages 里面多了如下日志

Jun 27 10:45:27 2-03cs01 kernel: Out of memory: Kill process 91917 (java) score 165 or sacrifice child

解决办法就是换机器

http://www.yayakq.cn/news/71360/

相关文章:

  • 住房住房和城乡建设部网站wordpress 地址栏
  • 盲盒怎么制作教程seo标签怎么优化
  • 新手做网站推荐wordpress长微博工具
  • 做空比特币的网站怎么优化网站源码关键词
  • 中山市网站制作中国建设网建筑通
  • 东莞建网站的公司广告设计免费软件
  • 网站建设用到什么软件东莞网站制作网站推广价钱
  • 做网站如何语音深圳龙岗做网站的公司哪家好
  • 苏州街网站建设手机网站页面设计要求
  • 提供商城网站制作青山湖网站建设
  • 换网站公司wordpress预览word
  • 深圳网站建设计wordpress建站难不难
  • 如何做网站走查自己买一台服务器做自己的网站
  • 长沙网站优化排名韵博工业设计
  • 给自己的公司做网站怎么做好网站的建设步骤包括什么
  • 浙江平安建设信息系统网站什么是响应式的网站
  • 网站做备案到哪去wordpress标题添加新字
  • 海西州电子商务网站建设公司zencart wordpress
  • 成都 网站建设公司哪家好网站管理员是干什么的
  • 马良行网站3d模型预览怎么做的见网页制作的公司网站
  • 前端开发的发展前景外贸推广seo招聘
  • 如何自己建一个网站网站关键词seo优化怎么做
  • 21dove谁做的的网站如何制作自己的网站书签
  • 深圳网站建设策划美妆网站开发背景
  • 做期货浏览哪些网站seo优化标签
  • 网站站点建设分为网页源代码查找快捷键
  • 生物公司网站建设方案东西湖区网站建设公司
  • 如何在各网站做推广房地产网站建设价格
  • 商鼎营销型网站建设地方门户类网站
  • 网站建设软著thinkphp做网站有什么好处