Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
zhoudaiyu
V2EX  ›  Linux

当物理内存和 swap 分区内存都用尽时,服务器会连 ping 都响应了吗?

  •  
  •   zhoudaiyu · Jan 5, 2022 via iPhone · 4613 views
    This topic created in 1769 days ago, the information mentioned may be changed or developed.
    今天一台机器无法连接了,连 ping 都没有响应了,机器重启后发现内存和 swap 都用尽了,IOWAIT 高的离谱,这种情况下 /var/log/messages 和 dmesg 都没报错,所以我怀疑是内存满了导致的。请问我的猜想有可能吗?
    Supplement 1  ·  Jan 5, 2022

    大哥们,我还有个问题,为什么我没看到任何 OOM 日志?按理来说内核应该杀掉一些进程才对

    16 replies  •  2022-01-13 16:46:54 +08:00
    Donahue
    Donahue
    Jan 5, 2022
    1
    我只遇到过 内存和 swap 都满了,然后 ubuntu 18.04 界面卡死,只能强制关机。没测试 ping
    locoz
    locoz
    Jan 5, 2022
    2
    内存爆了确实会导致 ping 都无响应的情况,之前碰到过一次
    p2pCoder
    p2pCoder
    Jan 5, 2022
    3
    公用开发机遇到过几次
    wellsc
    wellsc
    Jan 5, 2022
    4
    会的,blackbox 就是通过 icmp 检测主机存活的,都耗尽会发生主机存活告警的,实际机器还在
    zhoudaiyu
    zhoudaiyu
    OP
    Jan 5, 2022 via iPhone
    5
    @Donahue
    @locoz
    @p2pCoder
    @wellsc 大哥们,我还有个问题,为什么我没看到任何 OOM 日志?按理来说系统应该杀掉一些进程才对
    locoz
    locoz
    Jan 5, 2022
    6
    @zhoudaiyu #5 不清楚,我那时候也没看到系统杀进程,那个内存占用就一直存在,后来是靠 VNC 连上去忍着卡杀进程恢复的
    zhoudaiyu
    zhoudaiyu
    OP
    Jan 5, 2022 via iPhone
    7
    @locoz 我觉得啊,只是我推测,是不是有可能是某个系统进程内存溢出导致了内核没法去干掉
    yuguorui96
    yuguorui96
    Jan 5, 2022 via iPhone
    8
    也可能是是内核有内存泄露,我写过这样的 bug……
    disk
    disk
    Jan 5, 2022
    9
    正常情况下 /proc/sys/vm/oom_kill_allocating_task 应该设置为 0 。
    OOM Killer 只有当内存真的用尽时才会触发,好像至少得间隔 5s 才会再次触发。
    如果 swap 没有耗尽,可能一直等待 io ,类似假死。
    zhoudaiyu
    zhoudaiyu
    OP
    Jan 5, 2022 via iPhone
    10
    @yuguorui96 这样的话,内核应该会 crash 吧?问题就是没有 crash
    zhoudaiyu
    zhoudaiyu
    OP
    Jan 5, 2022 via iPhone
    11
    @disk 谢谢大哥,我没有注意到这个配置,明天我得确认下,其实我是从监控系统看到的,也不一定是 100%准的,因为不重启根本没法登陆。当时看物理内存已经还剩 100M 了,SWAP 应该是用尽了,还有你说的磁盘 IO ,我看了服务时间已经到 3 秒左右了。
    cstj0505
    cstj0505
    Jan 6, 2022
    12
    内存用完,swap 耗尽,就会假死。上个月遇到了,生产机器的数据库,加了 swap ,机械盘的 swap 没移除。
    Chinsung
    Chinsung
    Jan 6, 2022
    13
    这种情况,什么都满了,网卡收到包后内核也没法创建进程或者线程去响应吧
    zhoudaiyu
    zhoudaiyu
    OP
    Jan 6, 2022 via iPhone
    14
    @cstj0505
    @Chinsung 现在的问题是,上面跑着 KAFKA ,但是这种情况 oom_killer 应该杀掉这个进程吧
    Chinsung
    Chinsung
    Jan 7, 2022
    15
    @zhoudaiyu #14 这个得找 linux 大佬看了,我简单看了下 oom_killer 的机制,是进程向内核 malloc 的时候触发的,底层的网卡事件可能不包括在内
    lusi1990
    lusi1990
    Jan 13, 2022
    16
    是的 用图形桌面,如果内存爆了,会卡死,ssh 不行
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4634 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 01:37 · PVG 09:37 · LAX 17:37 · JFK 20:37
    ♥ Do have faith in what you're doing.