V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
zhoudaiyu
V2EX  ›  Linux

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

  •  
  •   zhoudaiyu · 2022-01-05 19:25:10 +08:00 via iPhone · 3385 次点击
    这是一个创建于 1047 天前的主题,其中的信息可能已经有所发展或是发生改变。
    今天一台机器无法连接了,连 ping 都没有响应了,机器重启后发现内存和 swap 都用尽了,IOWAIT 高的离谱,这种情况下 /var/log/messages 和 dmesg 都没报错,所以我怀疑是内存满了导致的。请问我的猜想有可能吗?
    第 1 条附言  ·  2022-01-05 21:27:22 +08:00

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

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