是什么突然杀死了 tty 主进程?

是什么突然杀死了 tty 主进程?

我正在对一个可以运行 shell 命令的软件进行一些压力测试。在压力测试期间,系统会定期将我注销。我对触发此问题的命令的记录总是产生可以自行正常运行并且不会注销的命令。

如何判断是什么触发了意外注销?

编辑回应评论:

使用:Ubuntu 12.04,x64。 Shell 命令或多或少是大型命令集的任意组合,但不包括kill 或其他直接停止进程的方法。导致崩溃的命令序列示例:

cd /tmp
pwd
dmesg
date -u
*some internal program calls happen here*
*logout happens here*

我的猜测是它是我的程序内部的东西,所以我提到 shell 命令只是为了完整性。使用通过管道传输到日志文件的 valgrind 运行会显示干净的退出,类似于我在注销期间正常停止进程时会发生的情况。根本不存在内存泄漏或无效访问问题。让人很难弄清楚到底发生了什么!

Edit2:通过系统日志进行搜索后的更多详细信息。我所拥有的就是这个:

Oct  1 14:39:26 my_hostname pulseaudio[7519]: [pulseaudio] pid.c: Daemon already running.
Oct  1 14:39:37 my_hostname kernel: [499969.564820] init: tty4 main process (1031) killed by TERM signal
Oct  1 14:39:37 my_hostname kernel: [499969.565018] init: tty5 main process (1037) killed by TERM signal
Oct  1 14:39:37 my_hostname kernel: [499969.565201] init: tty2 main process (1052) killed by TERM signal
Oct  1 14:39:37 my_hostname kernel: [499969.565391] init: tty3 main process (1053) killed by TERM signal
Oct  1 14:39:37 my_hostname kernel: [499969.565595] init: tty6 main process (1055) killed by TERM signal
Oct  1 14:39:37 my_hostname kernel: [499969.565798] init: cron main process (1065) killed by TERM signal
Oct  1 14:39:37 my_hostname kernel: [499969.566014] init: irqbalance main process (1120) killed by TERM signal
Oct  1 14:39:37 my_hostname kernel: [499969.566233] init: tty1 main process (1391) killed by TERM signal
Oct  1 14:39:38 my_hostname kernel: [499969.875817] init: plymouth-upstart-bridge main process (7542) terminated with status 1

然后在 14:38:37 看起来像是一个巨大的内核消息转储,看起来像是系统在登录之前重置了自身。

答案1

这取决于您正在进行什么类型的压力测试。当内核没有足够的资源来继续时,随机进程将被终止。这种情况仅在负载非常高时发生,例如当您没有页面文件并且所有内存都用于某些进程时。

相关内容