Linux下python执行Killed

174 篇文章 4 订阅
"当Linux系统内存耗尽,内核会触发OOM killer结束进程。可以通过dmesg或journalctl查看相关日志,例如`sudodmesg|tail-7`。日志中会显示被杀死的进程PID、UID及内存使用情况。此外,可以使用`journalctl --list-boots|xargs-I{}
摘要由CSDN通过智能技术生成

在这里插入图片描述
当系统资源不足时,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
  • 直接寻找错误
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

释放无用内存占用

# 查看系统内存情况
cat /proc/meminfo
# 查看当前空闲内存
free -m
free -g
  • 释放无用内存
# 查看某个用户的内存使用情况
# top -u username 
top -u hss 
# 使用q退出top界面

# 查看详细的command内容
top -u hss -c

# 查看特定PID或进程的资源消耗情况
top -p `pgrep -d "," node`  # 正解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

讓丄帝愛伱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值