Linux 查看进程被杀死的详情

Stella981
• 阅读 1252

运行写的不太完善的爬虫程序, 未限制任务队列大小, 再加上本子配置不高, 爬取网站到第3层大半时, 内存不足了...

进程运行太猛, 导致系统 out of memory, 那么此进程被系统的oom killer杀死.

此时终端显示 "Killed" 或 "已杀死".

查看相关信息的命令:

dmesg | egrep -i -B100 'killed process'

或:
egrep -i 'killed process' /var/log/messages
egrep -i -r 'killed process' /var/log

或:
journalctl -xb | egrep -i 'killed process'

结果类似这样:

4月 07 10:48:58 arch kernel: Out of memory: Kill process 1245 (python) score 685 or sacrifice child
4月 07 10:48:58 arch kernel: Killed process 1245 (python) total-vm:3519016kB, anon-rss:2453976kB, file-rss:0kB

参考:

http://stackoverflow.com/questions/726690/who-killed-my-process-and-why

http://stackoverflow.com/questions/624857/finding-which-process-was-killed-by-linux-oom-killer

http://unix.stackexchange.com/questions/10077/where-can-i-see-a-list-of-kernel-killed-processes

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Wesley13 Wesley13
3年前
java的linux执行的shell
!/bin/sh 该脚本为Linux下启动java程序的通用脚本。即可以作为开机自启动service脚本被调用, 也可以作为启动java程序的独立脚本来使用。   警告!!!:该脚本stop部分使用系统kill命令来强制终止指定的java程序进程。 在杀死进程前,未
芝士年糕 芝士年糕
2年前
如何在 Linux 命令行中终止进程?
如果你想在linux上停止某个进程,你会怎么操作?如果命令/进程在前台运行,您可以使用CtrlC终端快捷方式,但是,如果进程不可见(在后台运行),您可以使用专用命令“杀死它”。“终止进程”是指在执行过程中停止进程,如果您知道进程ID(PID),则可以使用kill命令,如下所示:kill在上面的语法中,signal指的是要发送终止的终止信号,
Wesley13 Wesley13
3年前
4、jstack查看线程栈信息
1、介绍利用jps、top、jstack命令找到进程中耗时最大的线程,以及线程状态等等,同时最后还可以显示出死锁的线程查找:FoundoneJavaleveldeadlock即可1、jps获得进程号!(https://oscimg.oschina.net/oscnet/da00a309fa6
Wesley13 Wesley13
3年前
VirtualBox导入已安装好的操作系统的方法
VirtualBox导入已安装好的操作系统的方法1、修改UUID进入VirtualBox安装目录,运行VBoxManage修改UUID,命令运行如下:D:\\VirtualBoxVBoxManage.exe internalcommands setvdiuuid E:\\VirtualX
Stella981 Stella981
3年前
Linux常用的命令和脚本
一、如何杀死linux系统中的僵尸进程,僵尸进程已经死亡了,所以没有办法杀死他们,但是可以通过杀死其父进程来清除僵尸进程:killHUP$(psAostat,ppid|grepe'\zZ\'|awk'
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
胖大海 胖大海
2年前
linux 僵尸进程处理
僵尸进程:就是已经结束了的进程,但是没有从进程表中删除,如果过多僵尸进程导致其他重要任务没有PID可用,进而导致系统崩溃。这是真实可能发生的,它有一定的概率,特别当存在一个编码糟糕的程序开始大量产生僵尸进程的时候,在这种情况下,找到并杀死僵尸进程是一个明智的做法。如何找到僵尸进程top命令用ps命令和grep命令寻找僵尸进程:psAostat,