Em uma máquina Linux de 12 núcleos, como usuário (sem privilégios de root), inicio um trabalho em um único processo. Quando eu atingir Ctrl-Z
, o processo é suspenso e kill -CONT
o retoma. Isso funciona bem.
Mas quando o mesmo trabalho é executado com 12 threads (OpenMP), quando eu alcanço Ctrl-Z
a máquina é desligada (desligamento instantâneo). O mesmo acontece enviando o sinal kill -STOP
para o processo.
É um bug do kernel ou de algum driver? Como posso encontrar a origem deste problema?
Editar: É um CentOS de 6 anos em um dual-socket (2x6-cores) sem hyperthreading:
Linux localhost.localdomain 2.6.32-642.6.2.el6.x86_64 #1 SMP Wed Oct 26
06:52:09 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
/proc/cpuinfo
processor : 11
vendor_id : GenuineIntel
cpu family : 6
model : 44
model name : Intel(R) Xeon(R) CPU X5680 @ 3.33GHz
stepping : 2
microcode : 19
cpu MHz : 1596.000
cache size : 12288 KB
physical id : 1
siblings : 6
core id : 10
cpu cores : 6
apicid : 52
initial apicid : 52
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx
pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology
nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2
ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 popcnt aes lahf_lm ida arat
epb dtherm tpr_shadow vnmi flexpriority ept vpid
bogomips : 6649.68
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
Edite para responder a perguntas nos comentários:
É 100% reproduzível. Tudo começou após uma atualização do CentOS e movendo fisicamente a máquina de uma sala para outra há um mês.
Acontece imediatamente, não há atraso. SIGKILL funciona bem.
É uma computação & Processo de E / S.
Tags shutdown kill multithreading