Linux下python执行Killed

简介: 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
  • 直接寻找错误
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`  # 正解


相关文章
|
Linux 网络安全 Python
linux centos上安装python3.11.x详细完整教程
这篇文章提供了在CentOS系统上安装Python 3.11.x版本的详细步骤,包括下载、解压、安装依赖、编译配置、解决常见错误以及版本验证。
12562 3
linux centos上安装python3.11.x详细完整教程
|
Linux Python
Linux 安装python3.7.6
本教程介绍在Linux系统上安装Python 3.7.6的步骤。首先使用`yum`安装依赖环境,包括zlib、openssl等开发库。接着通过`wget`下载Python 3.7.6源码包并解压。创建目标文件夹`/usr/local/python3`后,进入解压目录执行配置、编译和安装命令。最后设置软链接,使`python3`和`pip3`命令生效。
|
缓存 监控 Linux
Python 实时获取Linux服务器信息
Python 实时获取Linux服务器信息
33062 7
|
Linux Python
用python扫描linux开放的端口(3种方式)
这篇文章介绍了三种使用Python实现Linux端口扫描的方法,包括基础版端口扫描、全端口扫描和多线程扫描技术。
748 16
|
安全 Linux 开发者
|
Java Linux Python
Linux环境下 代码java调用python出错
Linux环境下 代码java调用python出错
414 4
|
NoSQL Linux Redis
linux安装单机版redis详细步骤,及python连接redis案例
这篇文章提供了在Linux系统中安装单机版Redis的详细步骤,并展示了如何配置Redis为systemctl启动,以及使用Python连接Redis进行数据操作的案例。
636 3
|
Linux Python
Linux之centos安装clinkhouse以及python如何连接
Linux之centos安装clinkhouse以及python如何连接
|
Linux Python
linux之部署python环境&创建虚拟环境
linux之部署python环境&创建虚拟环境
|
Unix Linux 网络安全
python中连接linux好用的模块paramiko(附带案例)
该文章详细介绍了如何使用Python的Paramiko模块来连接Linux服务器,包括安装配置及通过密码或密钥进行身份验证的示例。
1243 1