É difícil isolar a CPU, eu sei, mas os erros que estou vendo sugerem que esse é o problema.
Definitivamente, este não é um problema de hardware com defeito / com defeito . Venho executando o Windows 10 o dia todo nos últimos dias e isso é rápido! Sem bater. Mais importante, executei o verificador de memória do Windows. Memória é tudo de bom.
especificações da máquina
A máquina é uma nova marca 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
isolando no kernel do linux (?)
Eu já vi os mesmos problemas em ambos
- archlinux-2016.08.01-dual.iso
- ubuntu-gnome-16.04.1-desktop-amd64.iso
Para Arch - o problema estava aparecendo apenas de forma intermitente na inicialização do pen drive. Eu consegui instalar o Arch em uma partição ext4 de 100 GB na unidade. Essa instalação tem o mesmo problema de forma intermitente (90% do tempo) durante a inicialização. Se eu for aprovado na inicialização, o problema aparecerá aleatoriamente após os primeiros dois comandos de terminal executados, causando um bloqueio completo.
Para o Ubuntu - o pendrive nem é inicializado. Sou interrompido por esses mesmos erros imediatamente. Impasse...
Tantos erros ...
O diário está cheio de erros relacionados à memória sempre que isso acontece, mas os principais erros que estou vendo são:
General protection fault 0000[#1] PREEMPT SMP
RIP kmem_cache_alloc
RIP kmem_cache_alloc_trace
Eu já vi alguns dos mesmos rastreamentos de pilha várias vezes para esses erros:
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
O Linux também continua prometendo que está resolvendo o problema
Correção de falha recursiva, mas é necessário reiniciar!
Eu gostaria..
intel ucode
Eu também tentei instalar o intel-ucode
pacote na minha instalação do Arch. Vi nos dmesg
logs que os microcódigos foram atualizados, mas que infelizmente não resolveram o meu problema.
Qual poderia ser o problema? Como pode consertar isso?
EDITAR
Nota adicional.
As mensagens de falha de proteção geral e as mensagens do tipo "trava detectada" geralmente fazem referência a uma CPU. Eu vi CPU0
, CPU1
, CPU2
e CPU3
nessas mensagens. Parece que algo está fazendo com que as CPUs não se entendam, como se estivessem em um impasse tentando limpar a memória cache ou algo assim.
EDIT2
BIOS mencionado por erro
Vejo esta informação em alguns erros:
LENOVO 80U01LENOVO YOGA710-1 BIOS OGCN20WW(v1.04) 6/30/2016
Não tenho certeza se isso é útil para um profissional na compreensão do problema ...
EDIT3
maxcpus = 1
Eu estava procurando por opções de depuração na documentação dos parâmetros do kernel e encontreimaxcpus
Se eu definir o número máximo de CPUs como 1, o problema desaparecerá. Portanto, parece que o problema é algum tipo de violação da memória cache compartilhada.
EDIT3
maxcpus = 1 + Gnome = quebrado novamente
Embora maxcpus=1
parecesse fazer o sistema funcionar com apenas a 1 CPU, instalei o gnome e executeisystemctl enable gdm.service
Agora, quando eu reinicio, recebo todos os meus erros novamente, mas desta vez todos estão acontecendo na CPU0
Parece que algo ainda está causando uma violação de memória, mesmo com a 1 CPU.
EDIT4
nolápico
Então, o uso nolapic
parece deixar tudo "funcionando"
MAS, usando nolapic
, desabilito efetivamente minha outra CPU e todos os multithreading na 1 CPU em funcionamento.
Estou tentando usar isso no OpenMP e, após inicializar com o nolapic
OpenMP, o kernel do Linux pode encontrar apenas 1 thread e 1 CPU. Isso é péssimo!
Eu também tentei intel_idle.max_cstate=0
e 1
, 2
etc. Mas isso não resolve o problema de inicialização.
O que mais poderia fazer com que o kernel não utilizasse minha máquina com vários núcleos?
fonte
nomodeset
enouveau.mode=0
- não sei se isso é similar)maxcpus
- eu o defini como 1 e o problema desaparece ... Mas agora só posso usar um procesor? :(nomodeset nouveau.modeset=0
juntos e se isso não funcionar, tentenomodeset i915.modeset=0 nouveau.modeset=0
Respostas:
Acontece que o problema foi
i2c_hid
Parece ser algum tipo de driver do touchpad. Por algum motivo, quando eu o desabilito, ainda posso usar meu touchpad. Pode ser que a tela sensível ao toque do laptop também esteja usando esse driver, porque isso não funciona.
Eu não gosto de mexer na tela do meu laptop com impressões digitais, enfim ... Então tchau tchau
i2c_hid
!Corrigi-o adicionando isso aos parâmetros do kernel:
modprobe.blacklist=i2c_hid
Embora
nolapic
também tenha funcionado, desativou todos os processadores, com exceção de um núcleo.Eu recomendo a qualquer pessoa que esteja por aí para não usar
apci=off
ounolapic
por esse motivo.O uso dessas opções é uma arma nuclear que pode fazer sua máquina funcionar, mas você perderá muito desempenho e / ou dispositivos de E / S como dano colateral. É um bom ponto de partida para inicializar e, em seguida, você pode ler o journalctl como eu fiz para analisar as botas que falham.
Boa sorte para quem achar isso.
fonte
hid_sensor_hub
é suficiente e a tela sensível ao toque também é utilizável (veja minha resposta abaixo para mais detalhes).Todos esses erros se parecem com os que eu já vi com módulos ruins do kernel.
Alguém no fórum do ubuntu afirmou que conseguiu instalar o ubuntu no 710-14ISK desativando o acpi (adicione
acpi=off
às opções do kernel). https://ubuntuforums.org/showthread.php?t=2329448Outro cliente nos fóruns da lenovo disse que teve problemas para inicializar o fedora 24 e atribuiu o problema a um firmware broadcom: https://forums.lenovo.com/t5/Linux-Discussion/Yoga-710-How-to-install-Linux / td-p / 3361544
Tente colocar na lista negra os módulos broadcom e nouveau (deixe-os não reclamados) e inicialize com o acpi desativado. Eu tinha logs semelhantes quando tinha um módulo ralink mal comportado em um antigo Acer: colocar o módulo na lista negra deixou-me inicializar e interrompeu o pânico do kernel, mas me deixou sem wifi.
PS. Eu colocaria tudo isso em um comentário, mas não tenho reputação suficiente para comentar (desculpe).
fonte
acpi=off
cometeu o erro desaparecer, mas também desativa meu teclado. Parece que há opções mais granulares com ACPI, então eu vou ver se consigo fazer parar erros, mantendo meu teclado :)acpi=ht
primeiro. help.ubuntu.com/community/BootOptions (veja em Opções comuns do kernel) ou para uma lista mais abrangente: kernel.org/doc/Documentation/kernel-parameters.txtnolapic
funcionou para mim e sou capaz de inicializar, mas só posso acessar um dos meus CPUs. Estou tentando usar este laptop para desenvolver programas OpenMP, portanto, ter apenas 1 CPU funcionando não é bom. Parece que há algo terrivelmente errado em como o kernel está tentando usar minhas múltiplas CPUs. O fato denolapic
"corrigir" a inicialização pode ser apenas coincidentemente devido ao fato de limitar o kernel a 1 CPUEu experimentei problemas semelhantes com os kernels recentes (4.7.x a 4.8.2) no meu yoga710 com o i5-6200U. Desativar o i2c_h2d funciona para mim. Também descobri que o linux-lts (atualmente 4.4.25) parece funcionar bem, incluindo o touchpad e a tela sensível ao toque.
Editar: ao experimentar o código do driver, descobri que isso é realmente causado pelo
hid_sensor_hub
driver, de modo que a lista negra resolve o problema e a tela sensível ao toque também é utilizável. Desativar certamente faz com que os sensores (como o acelerômetro) não sejam reconhecidos. Eu tentei consertar o driver; no entanto, ainda não descobri uma maneira.fonte
Você precisa de um kernel Linux da versão 4.4 ou posterior para suporte do Skylake. Confira o seguinte link no wiki do Arch Linux. https://wiki.archlinux.org/index.php/intel_graphics#Skylake_support
fonte