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?
fuente
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
Respuestas:
Resulta que el problema era
i2c_hid
Esto parece ser algún tipo de controlador de panel táctil. Por alguna razón, cuando lo desactivo, aún puedo usar mi panel táctil. Podría ser que la pantalla táctil de la computadora portátil también usara este controlador, porque eso no funciona.
No me gusta juntar la pantalla de mi laptop con huellas digitales, de todos modos ... ¡Adiós
i2c_hid
!Lo arreglé agregando esto a los parámetros del kernel:
modprobe.blacklist=i2c_hid
Aunque
nolapic
también funcionó, deshabilitó todos los procesadores excepto 1 núcleo.Recomiendo encarecidamente a cualquier otra persona que no use
apci=off
onolapic
por esta razón.El uso de estas opciones es un arma nuclear que puede hacer que su máquina funcione, pero perderá mucho rendimiento y / o dispositivos de E / S como daño colateral. Es un buen punto de partida para arrancar, y luego puede pasar por el diario como lo hice para analizar las botas que fallan.
Buena suerte a quienes encuentren esto.
fuente
hid_sensor_hub
es suficiente y que la pantalla táctil también es utilizable (consulte mi respuesta a continuación para obtener más detalles).Todos estos errores se parecen a los que he visto con módulos de kernel defectuosos.
Hay alguien en los foros de ubuntu que afirmó que consiguió que Ubuntu se iniciara en un 710-14ISK al deshabilitar acpi (agregar
acpi=off
a las opciones del kernel). https://ubuntuforums.org/showthread.php?t=2329448Otro cliente en los foros de lenovo dijo que tenían problemas para arrancar fedora 24 y rastreó el problema hasta una pieza de firmware de broadcom: https://forums.lenovo.com/t5/Linux-Discussion/Yoga-710-How-to-install-Linux / td-p / 3361544
Intente poner en la lista negra los módulos broadcom y nouveau (no los reclame) y arranque con acpi desactivado. Tuve registros similares cuando tuve un módulo de enlace mal comportamiento en un viejo acer: poner en la lista negra el módulo me permitió arrancar y detuvo el pánico del kernel, pero me dejó sin wifi.
PD. Pondría todo esto en un comentario, pero no tengo suficiente reputación para comentar (lo siento).
fuente
acpi=off
hizo que el error desapareciera, pero también deshabilita mi teclado. Parece que hay más opciones granulares con acpi, así que veré si puedo hacer que los errores se detengan, mientrasacpi=ht
primero lo intentaría . help.ubuntu.com/community/BootOptions (busque en Opciones comunes del kernel) o para obtener una lista más completa: kernel.org/doc/Documentation/kernel-parameters.txtnolapic
funcionó para mí y puedo arrancar, pero solo puedo acceder a una de mis CPU. Estoy tratando de usar esta computadora portátil para desarrollar programas OpenMP, por lo que tener solo 1 CPU funcionando no está bien. Parece que hay algo terriblemente mal en cómo el núcleo está tratando de usar mis múltiples CPU. El hecho de que elnolapic
"arregle" el arranque solo puede ser una coincidencia debido al hecho de que limita el núcleo a 1 CPUExperimenté problemas similares con los núcleos recientes (4.7.x a 4.8.2) en mi yoga710 con i5-6200U. Deshabilitar i2c_h2d funciona para mí. También descubrí que linux-lts (actualmente 4.4.25) parece funcionar bien, incluido el panel táctil y la pantalla táctil.
Editar: al experimentar con el código del controlador, descubrí que esto realmente es causado por el
hid_sensor_hub
controlador, por lo que ponerlo en la lista negra resuelve el problema y la pantalla táctil también es utilizable. Seguramente deshabilitarlo hace que los sensores (como el acelerómetro) no sean reconocidos. Traté de arreglar el controlador; Sin embargo, todavía no he descubierto una manera.fuente
Necesita un kernel de Linux de la versión 4.4 o posterior para el soporte de Skylake. Consulte el siguiente enlace en la wiki de Arch Linux. https://wiki.archlinux.org/index.php/intel_graphics#Skylake_support
fuente