É 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?
nomodeset
e nouveau.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