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?
źródło
nomodeset
inouveau.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
Odpowiedzi:
Okazuje się, że problem był
i2c_hid
To wydaje się być jakimś sterownikiem touchpada. Z jakiegoś powodu po jego wyłączeniu nadal mogę korzystać z touchpada. Możliwe, że ekran dotykowy na laptopie również korzystał z tego sterownika, ponieważ to nie działa.
W każdym razie nie lubię wycierać ekranu laptopa odciskami palców ... Więc cześć
i2c_hid
!Naprawiłem to, dodając to do parametrów jądra:
modprobe.blacklist=i2c_hid
Chociaż
nolapic
również działał, wyłączył wszystkie procesory z wyjątkiem 1 rdzenia.Gorąco polecam każdemu innemu, aby nie używał
apci=off
lubnolapic
z tego powodu.Korzystanie z tych opcji jest bronią nuklearną, która może sprawić, że twoja maszyna będzie działać, ale stracisz dużo wydajności i / lub urządzeń we / wy jako dodatkowe uszkodzenie. To dobry punkt wyjścia do uruchomienia, a następnie możesz przejrzeć dziennik tak jak ja, aby przeanalizować buty, które zawiodły.
Powodzenia dla tych, którzy to znajdą.
źródło
hid_sensor_hub
jest wystarczające, a ekran dotykowy jest również użyteczny (więcej szczegółów znajdziesz w mojej odpowiedzi poniżej).Wszystkie te błędy wyglądają jak te, które widziałem przy złych modułach jądra.
Jest ktoś na Ubuntuforums, który twierdził, że dostał Ubuntu do rozruchu na 710-14ISK przez wyłączenie acpi (dodaj
acpi=off
do opcji jądra). https://ubuntuforums.org/showthread.php?t=2329448Inny klient na forach Lenovo powiedział, że miał problem z uruchomieniem Fedory 24 i prześledził problem do oprogramowania wewnętrznego Broadcom: https://forums.lenovo.com/t5/Linux-Discussion/Yoga-710-How-to-install-Linux / td-p / 3361544
Spróbuj umieścić na czarnej liście moduły broadcom i nouveau (pozostaw je nieodebrane) i uruchom przy wyłączonym acpi. Miałem podobne dzienniki, gdy miałem źle zachowujący się moduł Ralink w starym acerze: umieszczenie go na czarnej liście pozwoliło mi się uruchomić i zatrzymać panikę jądra, ale zostawiłem mnie bez wifi.
PS. Umieściłbym to wszystko w komentarzu, ale nie mam wystarczającej reputacji, aby komentować (przepraszam).
źródło
acpi=off
błąd zniknął, ale wyłącza także klawiaturę. Wygląda na to, że z acpi są bardziej szczegółowe opcje, więc zobaczę, czy uda mi się zatrzymać błędy przy jednoczesnym zachowaniu klawiatury :)acpi=ht
najpierw spróbuję . help.ubuntu.com/community/BootOptions (patrz Wspólne opcje jądra) lub bardziej wyczerpująca lista: kernel.org/doc/Documentation/kernel-parameters.txtnolapic
pracował dla mnie i jestem w stanie uruchomić, ale wtedy mogę uzyskać dostęp tylko do jednego z moich procesorów. Próbuję używać tego laptopa do opracowywania programów OpenMP, więc działanie tylko 1 procesora nie jest w porządku. Wygląda na to, że jest coś strasznie złego w tym, jak jądro próbuje używać moich wielu procesorów. Fakt, żenolapic
„naprawia” boot, może być przypadkowy tylko dlatego, że ogranicza jądro do 1 procesoraPodobne problemy występowały w przypadku ostatnich jąder (4.7.x do 4.8.2) na moim Yoga710 z i5-6200U. Wyłączenie i2c_h2d działa dla mnie. Odkryłem również, że linux-lts (obecnie 4.4.25) wydaje się działać dobrze, w tym touchpad i ekran dotykowy.
Edycja: eksperymentując z kodem sterownika, odkryłem, że jest to rzeczywiście spowodowane przez
hid_sensor_hub
sterownik, więc umieszczenie go na czarnej liście rozwiązuje problem, a ekran dotykowy jest również użyteczny. Z pewnością wyłączenie powoduje, że czujniki (takie jak akcelerometr) nie są rozpoznawane. Próbowałem naprawić sterownik; jednak nie znalazłem jeszcze rozwiązania.źródło
Do obsługi Skylake potrzebujesz jądra Linux w wersji 4.4 lub nowszej. Sprawdź poniższy link na wiki Arch Linux. https://wiki.archlinux.org/index.php/intel_graphics#Skylake_support
źródło