• Linux下python执行Killed


    在这里插入图片描述
    当系统资源不足时,Linux 内核也可以决定终止一个或多个进程。 一个非常常见的例子是内存不足 (OOM) killer,会在系统的物理内存耗尽时触发。

    • 当内存不足时,内核会将相关信息记录到内核日志缓冲区中,该缓冲区可通过 /dev/kmsg 获得。
    • 有几个工具/脚本/命令 可以更轻松地从该虚拟设备读取数据,其中最常见的是 dmesg 和 journalctl。

    查看Killed日志

    任意目录下,不需要进入log目录

    使用sudo dmesg | tail -7命令

    • oom-kill之后,就是解释那个被killed的程序的pid和uid
    • Out of memory: Killed process 1138439 (python3) total-vm:8117956kB, anon-rss:5649844kB,内存不够
      • total_vm:总共使用的虚拟内存 Virtual memory use (in 4 kB pages)
        8117956/1024(得到MB)/1024(得到GB)=7.741GB
      • rss:常驻内存使用Resident memory use (in 4 kB pages)
        5649844/1024/1024=5.388GB

    其他查看方式

    journalctl --list-boots |
    awk '{ print $1 }' |
    xargs -I{} journalctl --utc --no-pager -b {} -kqg 'killed process' -o verbose --output-fields=MESSAGE
    
    • 1
    • 2
    • 3
    • 直接寻找错误
    journalctl -xb | egrep -i 'killed process'
    sudo dmesg | egrep -i -B100 'killed process'
    # 其中-B100,表示 'killed process’之前的100行内容
    # 重点关注其中最后两列:oom_score_adj和name
    
    
    egrep -i 'killed process' /var/log/messages 
    或
    egrep -i -r 'killed process' /var/log
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    释放无用内存占用

    # 查看系统内存情况
    cat /proc/meminfo
    # 查看当前空闲内存
    free -m
    free -g
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 释放无用内存
    # 查看某个用户的内存使用情况
    # top -u username 
    top -u hss 
    # 使用q退出top界面
    
    # 查看详细的command内容
    top -u hss -c
    
    # 查看特定PID或进程的资源消耗情况
    top -p `pgrep -d "," node`  # 正解
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
  • 相关阅读:
    广州蓝景分享—程序员在面试时必须要做的五件事,最后一件很重要
    SpringBoot入门教程:枚举嵌套分组
    【Javascript】弹出框
    Linux主机间的相互免秘钥
    如何解决工业交换机出现温度过高问题?
    MBTI答题应用小程序
    vue~要懂的有关node与npm
    cookie,storage,sesstion区别
    是时候回答【我为什么要学习 Go 语言(golang)】这个问题了
    Go map 竟然也会发生内存泄漏?
  • 原文地址:https://blog.csdn.net/ximaiyao1984/article/details/127449714