Es difícil aislar la CPU, lo sé, pero los errores que veo sugieren que ese es el problema.
Esto definitivamente no es un problema de hardware defectuoso o roto . He estado usando Windows 10 todo el día durante los últimos días y ¡esto está volteando rápido! No estrellarse. Más importante aún, ejecuté el comprobador de memoria de Windows. La memoria es buena.
especificaciones de la máquina
La máquina es un nuevo Lenovo Yoga 710 15 "
x64
Intel i7-6500 CPU @ 2.50 GHz, 2601 Mhz, 2 Cores, 4 Logical Processors
SMBIOS Version 2.8
BIOS Mode UEFI
16.0 GB DDR4 Ram
256 MB SSD
aislando al kernel de Linux (?)
He visto los mismos problemas en ambos
- archlinux-2016.08.01-dual.iso
- ubuntu-gnome-16.04.1-desktop-amd64.iso
Para Arch, el problema solo aparecía de forma intermitente al arrancar desde la memoria USB. Logré instalar Arch en una partición ext4 de 100 GB en la unidad. Esa instalación tiene el mismo problema de forma intermitente (como el 90% del tiempo) durante el arranque. Si me pasa el arranque, entonces el problema aparece al azar después de los primeros comandos de terminal que ejecuto, lo que finalmente causa un punto muerto completo.
Para Ubuntu, la memoria USB ni siquiera arranca. Estos mismos errores me detienen de inmediato. Punto muerto...
Tantos errores ...
El diario está lleno de errores relacionados con la memoria cada vez que esto sucede, pero los errores clave que estoy viendo son:
General protection fault 0000[#1] PREEMPT SMP
RIP kmem_cache_alloc
RIP kmem_cache_alloc_trace
He visto algunas de las mismas trazas de pila varias veces para estos errores:
rbt_memtype_copy_nth_element
on_each_cpu
flusH_tbl_kernel_range
__purge_umap_area_lazy
um_unmam_aliases
change_page_attr_set_clr
set_memory_ro
frob_text.isra
module_enable_ro
kobject_create
kobject_create_and_add
load_module
__symbol_put
kernel_read
sys_finit_module
entry_SYSCALL_64_fastpath
kmem_cache_alloc_trace
allocate_cgrp_cset_links
...
sys_write
entry_SYSCALL-64_fastpath
Linux también promete que está solucionando el problema
¡Se corrige la falla recursiva pero se necesita reiniciar!
Yo deseo..
Intel ucode
También intenté instalar el intel-ucode
paquete en mi instalación de Arch. Vi en los dmesg
registros que los microcódigos se actualizaron, pero desafortunadamente eso no resolvió mi problema.
¿Cual podría ser el problema? ¿Cómo puedo arreglarlo?
EDITAR
Nota adicional.
Los mensajes de falla de protección general y los mensajes de tipo "bloqueo detectado" generalmente hacen referencia a una CPU. Yo he visto CPU0
, CPU1
, CPU2
y CPU3
en estos mensajes. Parece que algo está causando que la CPU no se lleve bien, como si todos estuvieran en un punto muerto tratando de limpiar la memoria caché o algo así.
EDIT2
BIOS mencionado en error
Veo esta información en algunos errores:
LENOVO 80U01LENOVO YOGA710-1 BIOS OGCN20WW(v1.04) 6/30/2016
No estoy seguro si eso es útil para un profesional para comprender el problema ...
EDITAR3
maxcpus = 1
Estaba buscando opciones de depuración en la documentación de parámetros del kernel y encontrémaxcpus
Si configuro max cpu's en 1, entonces el problema desaparece. Por lo tanto, parece que el problema es algún tipo de violación de memoria caché compartida.
EDITAR3
maxcpus = 1 + Gnomo = roto nuevamente
Aunque maxcpus=1
parecía hacer que el sistema funcionara solo con la 1 CPU, instalé gnome y luego ejecutésystemctl enable gdm.service
Ahora, cuando reinicio, recupero todos mis errores nuevamente, pero esta vez todos están ocurriendo en CPU0
Entonces parece que algo todavía está causando una violación de memoria incluso con la 1 CPU.
EDITAR4
nolapic
Así que el uso nolapic
parece hacer que todo "funcione"
PERO al usar nolapic
, efectivamente deshabilito mi otra CPU y todos los subprocesos múltiples en la 1 CPU en funcionamiento.
Estoy tratando de usar esto para OpenMP, y después de iniciar nolapic
, OpenMP y el kernel de Linux solo pueden encontrar 1 hilo, 1 CPU. Eso apesta!
También probé intel_idle.max_cstate=0
y 1
, 2
etc. Pero esto no soluciona el problema de arranque.
¿Qué más podría hacer que el kernel no pueda utilizar mi máquina multi-core?
nomodeset
nouveau.mode=0
maxcpus
: lo configuré en 1 y el problema desaparece ... ¿Pero ahora solo puedo usar un procesador? :(
nomodeset nouveau.modeset=0
juntos y si eso no funciona, intentenomodeset i915.modeset=0 nouveau.modeset=0