草庐IT

oom-kill

全部标签

linux - kill -9 和生产应用

哪个问题会导致生产应用程序中的kill-9(准确地说是在linux中)?我的应用程序执行一些定期工作,停止这些工作需要很长时间,而且我不在乎某些工作是否会中止-工作可以通过新流程完成。那么我是否可以使用kill-9立即停止它,否则会导致严重的操作系统问题?例如,Unicorn,将其用作正常工作程序:Whenyourapplicationgoesawry,aBOFHcanjust"kill-9"therunawayworkerprocesswithoutworryingabouttearingallclientsdown,justone.但是这个article声明:The-9(orKIL

linux - 当 OOM killer 杀死进程时返回代码

我在使用SUSESLES11的POWER7系统上运行多道程序工作负载(基于SPECCPU2006基准测试)。有时,工作负载中的每个应用程序都会消耗大量内存,并且总内存占用量会超过系统中安装的可用内存(32GB)。我禁用了交换,否则使用交换的进程的测量可能会受到严重影响。我知道内核通过OOMkiller这样做可能会杀死一些进程。那完全没问题。问题是我希望被内核杀死的线程以错误条件退出(例如,进程被信号终止)。我有一个启动所有进程然后等待它们使用的框架waitpid(pid,&status,0);即使线程被OOMkiller杀死(我知道,因为我在屏幕和/var/log/messages中收

linux - 当 OOM killer 杀死进程时返回代码

我在使用SUSESLES11的POWER7系统上运行多道程序工作负载(基于SPECCPU2006基准测试)。有时,工作负载中的每个应用程序都会消耗大量内存,并且总内存占用量会超过系统中安装的可用内存(32GB)。我禁用了交换,否则使用交换的进程的测量可能会受到严重影响。我知道内核通过OOMkiller这样做可能会杀死一些进程。那完全没问题。问题是我希望被内核杀死的线程以错误条件退出(例如,进程被信号终止)。我有一个启动所有进程然后等待它们使用的框架waitpid(pid,&status,0);即使线程被OOMkiller杀死(我知道,因为我在屏幕和/var/log/messages中收

java - Maven 编译死于 "Killed"

我正在linux虚拟机上运行一个大型Java项目的Maven2编译编译失败,出现以下错误“使用-X编译以进行调试”[DEBUG]源代码根:[调试]/home/{...}/src/main/java[调试]/home/{...}/target/generated-sources/meta[信息]将1377个源文件编译到/home/{...}杀了(然后我立即返回bash提示符)我想这可能是:Linux的东西(我检查过我的ulimit-Hn没问题,10000)VM东西(在amazonEC2ubuntu实例上)一个maven/java的东西(没见过这种死机,通常只是内存不足之类的错误)有什么想

java - Maven 编译死于 "Killed"

我正在linux虚拟机上运行一个大型Java项目的Maven2编译编译失败,出现以下错误“使用-X编译以进行调试”[DEBUG]源代码根:[调试]/home/{...}/src/main/java[调试]/home/{...}/target/generated-sources/meta[信息]将1377个源文件编译到/home/{...}杀了(然后我立即返回bash提示符)我想这可能是:Linux的东西(我检查过我的ulimit-Hn没问题,10000)VM东西(在amazonEC2ubuntu实例上)一个maven/java的东西(没见过这种死机,通常只是内存不足之类的错误)有什么想

linux - ZSH 中的 Kill/Yank(剪切/粘贴)

我使用zsh并为其设置了Emacs键绑定(bind)。我很想让它复制所有我的常规Emacs文本操作命令。我想念的一个是Kill/Yank键。如果我可以选择文本(使用C-SPC-这有效)然后执行类似kill-region(C-w-现在删除之前的单词)。猛拉(C-y)工作正常,我什至可以使用M-y循环遍历它们。有人有这样的设置吗? 最佳答案 我的.inputrc文件中的一个简单的"\C-w":kill-region将key绑定(bind)到我想要的函数。更新:说得太早了。以上仅适用于使用readline库的应用程序。Zsh使用它自己的z

linux - ZSH 中的 Kill/Yank(剪切/粘贴)

我使用zsh并为其设置了Emacs键绑定(bind)。我很想让它复制所有我的常规Emacs文本操作命令。我想念的一个是Kill/Yank键。如果我可以选择文本(使用C-SPC-这有效)然后执行类似kill-region(C-w-现在删除之前的单词)。猛拉(C-y)工作正常,我什至可以使用M-y循环遍历它们。有人有这样的设置吗? 最佳答案 我的.inputrc文件中的一个简单的"\C-w":kill-region将key绑定(bind)到我想要的函数。更新:说得太早了。以上仅适用于使用readline库的应用程序。Zsh使用它自己的z

linux - 如何在 bash 中使用 kill SIGUSR2?

我在linux中使用iptraf监控网络流量,shell命令为(让iptraf在后台运行):iptraf-seth0-f-B-L./traffic.dat如果我想得到结果,我必须先停止iptraf,所以我使用shell命令:kill-SIGUSR2$pid但是,如果我将这些shell命令移动到bash脚本文件(net.sh)中,我将无法停止iptraf,并且出现错误:kill:SIGUSR2:invalidsignalspecification我在脚本文件(net.sh)中使用'kill-l',我发现没有名称为SIGUSR2的参数。如果我使用USR2或-9,我将一无所获。完整的脚本文件

linux - 如何在 bash 中使用 kill SIGUSR2?

我在linux中使用iptraf监控网络流量,shell命令为(让iptraf在后台运行):iptraf-seth0-f-B-L./traffic.dat如果我想得到结果,我必须先停止iptraf,所以我使用shell命令:kill-SIGUSR2$pid但是,如果我将这些shell命令移动到bash脚本文件(net.sh)中,我将无法停止iptraf,并且出现错误:kill:SIGUSR2:invalidsignalspecification我在脚本文件(net.sh)中使用'kill-l',我发现没有名称为SIGUSR2的参数。如果我使用USR2或-9,我将一无所获。完整的脚本文件

c - Linux C 捕获 kill 信号以实现优雅终止

我有一个使用套接字、数据库连接等的进程。它基本上是一个在传感器数据和Web界面之间中继的服务器进程,因此确保应用程序在被终止时能够正常终止非常重要。我如何处理意外异常,例如段错误(至少对于调试而言)以及终止信号,以便我可以关闭所有连接并停止所有正在运行的线程,这样进程就不会留下它正在使用的任何东西的困惑局面? 最佳答案 捕捉信号很难。你必须要小心。您的第一步是使用sigaction为所需信号安装信号处理程序。选择一组要响应的信号并选择它们对您的流程的意义。例如,SIGTERM退出,SIGHUP重启,SIGUSR1重新加载配置等。不要