Wiem, że trudno jest odizolować procesor, ale błędy, które widzę, sugerują, że to jest problem.
To zdecydowanie nie jest wadliwy / uszkodzony problem sprzętowy . Przez ostatnie kilka dni korzystałem z systemu Windows 10 i to szybko się zmienia! Bez awarii. Co ważniejsze, uruchomiłem sprawdzanie pamięci systemu Windows. Pamięć jest dobra.
dane techniczne maszyny
Maszyna jest zupełnie nowym 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
izolowanie do jądra Linuxa (?)
Widziałem te same problemy na obu
- archlinux-2016.08.01-dual.iso
- ubuntu-gnome-16.04.1-desktop-amd64.iso
W przypadku Arch - problem pojawiał się sporadycznie podczas rozruchu z pamięci USB. Udało mi się zainstalować Archa na 100 GB partycji ext4 na dysku. Podczas instalacji ten sam problem występuje sporadycznie (np. 90% czasu). Jeśli mi się uda, problem pojawia się losowo po wykonaniu pierwszych kilku poleceń terminalu, co ostatecznie powoduje całkowity impas.
W przypadku Ubuntu - pamięć USB nawet się nie uruchamia. Natychmiast zatrzymują mnie te same błędy. Impas...
Tyle błędów ...
Czasami dziennik jest zapełniany błędami związanymi z pamięcią, ale najważniejsze błędy, które widzę, to:
General protection fault 0000[#1] PREEMPT SMP
RIP kmem_cache_alloc
RIP kmem_cache_alloc_trace
Kilka razy widziałem te same ślady stosu dla tych błędów:
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 również obiecuje, że naprawi problem
Naprawianie błędu rekurencyjnego, ale konieczne jest ponowne uruchomienie!
Chciałbym..
kod intelektualny
Próbowałem także zainstalować intel-ucode
pakiet w mojej instalacji Arch. W dmesg
dziennikach widziałem, że mikrokody zostały zaktualizowane, ale niestety nie rozwiązało to mojego problemu.
Co może być problemem? Jak to naprawić?
EDYTOWAĆ
Uwaga dodatkowa
Ogólne komunikaty o błędach ochrony i komunikaty typu „wykryto zablokowanie” zwykle odnoszą się do procesora. Widziałem CPU0
, CPU1
, CPU2
i CPU3
w tych wiadomościach. Wygląda na to, że coś powoduje, że procesory się nie dogadują, jakby wszyscy znajdowali się w impasie, próbując wyczyścić pamięć podręczną lub coś w tym rodzaju.
EDYCJA 2
BIOS wymieniony w błędzie
Widzę ten fragment informacji w niektórych błędach:
LENOVO 80U01LENOVO YOGA710-1 BIOS OGCN20WW(v1.04) 6/30/2016
Nie jestem pewien, czy jest to pomocne dla profesjonalisty w zrozumieniu problemu ...
EDYCJA 3
maxcpus = 1
Szukałem opcji debugowania w dokumentacji parametrów jądra i znalazłemmaxcpus
Jeśli ustawię maksymalną liczbę procesorów na 1, problem zniknie. Wygląda na to, że problemem jest naruszenie zasad pamięci współużytkowanej.
EDYCJA 3
maxcpus = 1 + Gnome = ponownie zepsuty
Chociaż maxcpus=1
wydawało się, że system działa tylko z 1 procesorem, zainstalowałem gnome, a następnie uruchomiłemsystemctl enable gdm.service
Teraz, gdy uruchamiam ponownie, ponownie otrzymuję wszystkie moje błędy, ale tym razem wszystkie one występują na CPU0
Wygląda więc na to, że coś wciąż powoduje naruszenie pamięci nawet przy 1 procesorze.
EDYCJA 4
nolapic
nolapic
Wydaje się, że używanie sprawia, że wszystko „działa”
ALE za pomocą nolapic
, skutecznie wyłączam mój inny procesor i wszystkie wielowątkowość w 1 działającym procesorze.
Próbuję użyć tego do OpenMP, a po uruchomieniu nolapic
OpenMP i jądro Linuxa mogą znaleźć tylko 1 wątek, 1 procesor. To jest do bani!
Próbowałem też intel_idle.max_cstate=0
i 1
, 2
itp Ale to nie rozwiąże problemu z rozruchem.
Co jeszcze może spowodować, że jądro nie wykorzysta mojej wielordzeniowej maszyny?
nomodeset
i nouveau.mode=0
- nie jestem pewien, czy to podobne)
maxcpus
- ustawiłem na 1 i problem zniknął ... Ale teraz mogę używać tylko jednego procesora? :(
nomodeset nouveau.modeset=0
razem, a jeśli to nie zadziała, spróbujnomodeset i915.modeset=0 nouveau.modeset=0