如何找出进程卡住的原因

如何找出进程卡住的原因

我正在运行在 Proxmox 1.9 OpenVZ 虚拟化 Ubuntu 11.04 中的 Postgres 实例上执行大型数据库导入。出于某种原因,启动和控制导入(或 Postgres)的可执行文件总是在某个时候停止,通常是在系统(即 proxmox 主机或任何 VM 实例)的 I/O 负载过高时,以及导入过程的负载过高时。我正在尝试找出根本问题以及我是否可以避免它。Ps 告诉我,导入过程(正在休眠)的 wchan = n_tty_。首先,这是什么意思,进一步调试的良好做法是什么?

答案1

尝试一下 strace。

您可以像这样调用它strace -p pid

或者更好的是,strace 你的程序在这里

相关内容