Linux çekirdeği neden yeni Intel i7-6500U CPU'mda önyükleme yapamıyor?


9

CPU'yu izole etmek zor, biliyorum, ama gördüğüm hatalar sorun olduğunu gösteriyor.

Bu kesinlikle hatalı / bozuk bir donanım sorunu değildir . Windows 10'u son birkaç gündür çalıştırıyorum ve bu şey hızlı bir şekilde değişiyor! Çökme yok. Daha da önemlisi, Windows bellek denetleyicisini çalıştırdım. Hafıza iyi.

makine özellikleri

Makine yepyeni bir 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

Linux çekirdeğine izolasyon (?)

Her ikisinde de aynı sorunları gördüm

  • Arch Linux-2016/08/01-dual.iso
  • ubuntu-gnome-16.04.1-masaüstü-amd64.iso

Arch için - sorun USB çubuğundan önyükleme sırasında sadece aralıklı olarak ortaya çıkıyordu. Arch'ı sürücüdeki 100 GB'lık bir ext4 bölümüne kurmayı başardım. Bu yükleme, önyükleme sırasında zaman zaman aynı sorunu yaşıyor (zamanın% 90'ı gibi). Önyüklemeyi geçersem, çalıştırdığım terminal komutlarının ilk çiftinden sonra sorun rastgele görünür ve sonunda tam bir kilitlenmeye neden olur.

Ubuntu için - USB bellek bile önyükleme yapmıyor. Hemen aynı hatalardan dolayı duruyorum. Kilitlenme ...

Çok fazla hata ...

Günlük bu olduğunda bellekle ilgili hatalarla doludur, ancak gördüğüm önemli hatalar şunlardır:

  • General protection fault 0000[#1] PREEMPT SMP
  • RIP kmem_cache_alloc
  • RIP kmem_cache_alloc_trace

Bu hatalar için birkaç kez aynı yığın izlerini gördüm:

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 ayrıca sorunu çözdüğünü de vaat ediyor

Özyinelemeli hatayı düzeltme ancak yeniden başlatma gerekiyor!

Keşke..

intel ucode

intel-ucodePaketi Arch kurulumuma yüklemeyi de denedim . dmesgGünlüklerde mikrokodların güncellendiğini gördüm , ancak maalesef sorunumu çözmedi.

Sorun ne olabilir? Nasıl düzeltebilirim?


DÜZENLE

Ek not.

Genel koruma hatası mesajları ve "kilitlenme algılandı" tipi mesajlar tipik olarak bir CPU'yu belirtir. Gördüğüm CPU0, CPU1, CPU2ve CPU3bu mesajlarda. Görünüşe göre bir şey CPU'ların anlaşamamasına neden oluyor, sanki hepsi önbellek veya başka bir şeyi temizlemeye çalışan bir kilitlenme içinde.


EDIT2

Hata ile belirtilen BIOS

Bazı hatalarda bu bilgileri biraz görüyorum:

LENOVO 80U01LENOVO YOGA710-1 BIOS OGCN20WW(v1.04) 6/30/2016

Sorunun anlaşılmasında bir profesyonel için yararlı olup olmadığından emin değilim ...


EDIT3

maxcpus = 1

Çekirdek parametreleri parametrelerine hata ayıklama seçenekleri arıyordum ve buldummaxcpus

Max cpu'nun 1 değerini ayarlarsam sorun ortadan kalkar. Yani sorunun bir tür paylaşılan önbellek belleği ihlali olduğu anlaşılıyor.


EDIT3

maxcpus = 1 + Gnome = tekrar kırıldı

maxcpus=1Sistemin sadece 1 CPU ile çalışmasına rağmen , gnome yükledim ve daha sonra koştumsystemctl enable gdm.service

Şimdi, yeniden başlattığımda, tüm hatalarımı tekrar geri alıyorum, ama bu sefer hepsi CPU0'da oluyor

Görünüşe göre 1 CPU ile bile bir şey hala bellek ihlaline neden oluyor.


EDIT4

nolapic

Yani kullanmak nolapicher şeyin "çalışmasını" sağlıyor

ANCAK kullanarak nolapic, diğer CPU ve tüm 1 çok işlemcili tüm çoklu kullanım etkin bir şekilde devre dışı bırakın.

Bunu OpenMP için kullanmaya çalışıyorum ve önyükleme yaptıktan sonra nolapicOpenMP ve linux çekirdeği sadece 1 iş parçacığı, 1 CPU bulabiliyor. Bu berbat!

Ben de denedim intel_idle.max_cstate=0ve 1, 2vb. Ama bu önyükleme sorunu çözmez.

Çekirdeğin çok çekirdekli makinemi kullanmamasına başka ne neden olabilir?


NVIDIA GeForce 940MX'iniz için nvidia sürücüsünü yüklemeyi denediniz mi?
Paul Nordin

Hayır, yapmadım - kemer usb çubuğunu tekrar önyükleyebilirim, ama biraz zor. Bunu test etmek için gpuyu geçici olarak devre dışı bırakmak için önyükleme komut dosyasında bir çekirdek seçeneğinden geçmenin herhangi bir yolu var mı? (Ben denedim nomodesetve nouveau.mode=0- benzer olup olmadığından emin değilim)
tmsimont

hmm Linux çekirdeği parametrelerine dokundum ve buldum maxcpus- 1'e ayarladım ve sorun ortadan kalktı ... Ama şimdi sadece bir işlemciyi kullanabilir miyim? :(
tmsimont

Bu garip. Hala altta yatan sorunun nouveau ile ilgili olduğundan şüpheleniyorum. Parametreleri nomodeset nouveau.modeset=0birlikte deneyin ve eğer işe yaramazsa deneyinnomodeset i915.modeset=0 nouveau.modeset=0
Paul Nordin

1
Ben sadece karışımı farklı bir çekirdek sürümü atmak için tekrar Ubuntu önyükleme deneyin. Öncelikle BIOS'ta eski modu etkinleştirdiğinizden veya en azından, güvenli önyüklemeyi ve hızlı önyüklemeyi devre dışı bırakın.
Paul Nordin

Yanıtlar:


5

Sorun şu ki i2c_hid

Bu bir tür dokunmatik yüzey sürücüsü gibi görünüyor. Bazı nedenlerden dolayı, devre dışı bıraktığımda yine de dokunmatik yüzümü kullanabilirim. Dizüstü bilgisayardaki dokunmatik ekran da bu sürücüyü kullanıyor olabilir, çünkü bu işe yaramaz.

Zaten dizüstü bilgisayar ekranımı parmak izimle karıştırmak istemiyorum ... Pekala görüşürüz i2c_hid!

Bunu çekirdek parametrelerine ekleyerek düzelttim: modprobe.blacklist=i2c_hid

nolapicAyrıca çalışmasına rağmen , işlemcilerde 1 çekirdek hariç hepsini devre dışı bıraktı.

Çok kimse kullanmamak için apci=offya da nolapicbu nedenle tavsiye ediyoruz .

Bu seçenekleri kullanmak, makinenizi çalıştırabilecek bir nükleer silahtır, ancak teminat hasarı olarak çok fazla performans ve / veya i / o cihazı kaybedersiniz. Önyükleme yapmak için iyi bir başlangıç ​​noktasıdır ve sonra başarısız olan botları analiz etmek için yaptığım gibi günlük gazetesini dökebilirsiniz.

Bunu bulanlara iyi şanslar.


3
Bulduğunu paylaştığın için çok teşekkürler! Bilgilerinize dayanarak, devre dışı bırakmanın hid_sensor_hubyeterli olduğunu ve dokunmatik ekranın da kullanılabilir olduğunu buldum (daha fazla bilgi için aşağıdaki cevabıma bakın).
jiakai

2

Tüm bu hatalar kötü çekirdek modülleriyle gördüğüm hatalara benziyor.

Ubuntuforums'da, acpi'yi devre dışı bırakarak ( acpi=offçekirdek seçeneklerine ekleyin) 710-14ISK'de önyükleme yapmak için ubuntu aldıklarını iddia eden biri var . https://ubuntuforums.org/showthread.php?t=2329448

Lenovo'nun forumlarındaki başka bir müşteri, fedora 24'ü önyükleme konusunda sorun yaşadıklarını ve sorunu bir parça yayın yazılımına kadar takip ettiklerini söyledi: https://forums.lenovo.com/t5/Linux-Discussion/Yoga-710-How-to-install-Linux / td-p / 3361544

Broadcom ve nouveau modüllerini kara listeye almayı (sahipsiz bırakın) deneyin ve acpi kapalıyken önyükleme yapın. Eski bir acer'de kötü niyetli bir ralink modülüm olduğunda benzer günlükler vardı: modülün kara listeye alınması, önyükleme yapmamı ve çekirdek paniklerini durdurmamı sağladı, ancak wifi olmadan bıraktı.

PS. Tüm bunları bir yorumda yazardım, ama yorum yapmak için yeterli üne sahip değilim (üzgünüm).


Bence sen bir şeylerin var. acpi=offhatayı ortadan kaldırdı, ancak klavyemi de devre dışı bıraktı. Acpi ile daha ayrıntılı seçenekler var, bu yüzden
klavyemi

1
hmm, belki sadece acpi'nin bazı kısımlarını devre dışı bırakmak gidilecek yoldur. Birkaç seçenek var, ama acpi=htönce denerdim . help.ubuntu.com/community/BootOptions (Ortak Çekirdek Seçenekleri altına bakın) veya daha kapsamlı bir liste için: kernel.org/doc/Documentation/kernel-parameters.txt
Ağustos'taki 16:16

nolapicbenim için çalıştı ve önyükleme yapabiliyorum, ancak daha sonra CPU'larımdan sadece birine erişebiliyorum. Bu dizüstü bilgisayar OpenMP programları geliştirmek için kullanmaya çalışıyorum, bu yüzden sadece 1 CPU'lu çalışma sorun değil. Çekirdeğin çoklu CPU'larımı nasıl kullanmaya çalıştığı konusunda çok yanlış bir şey var gibi görünüyor. Aslında nolapic"düzeltmeleri" önyükleme yalnızca nedeniyle bu 1 CPU için çekirdek sınırlar olmasından tesadüfen olabilir
tmsimont

başka bir not - bu windows 10 iyi çalışıyor. Ben windows çekirdeği linux çoğaltmak mümkün olabilir CPU ile Windows çekirdeği yaptığı bir şey hakkında daha fazla bilgi edinmek için bir şey var mı?
tmsimont

2

Ben i5-6200U ile yoga710 son çekirdeği (4.7.x ila 4.8.2) ile benzer sorunlar yaşadım. İ2c_h2d'yi devre dışı bırakmak benim için çalışıyor. Ayrıca, linux-lts'in (şu anda 4.4.25), dokunmatik yüzey ve dokunmatik ekran da dahil olmak üzere iyi çalıştığını gördüm.

Düzenleme: sürücü kodunu deneyerek, bu gerçekten hid_sensor_hubsürücü neden olduğunu buldum, bu yüzden kara liste sorunu çözer ve dokunmatik ekran da kullanılabilir. Elbette devre dışı bırakılması sensörleri (ivmeölçer gibi) tanınmaz hale getirir. Sürücüyü düzeltmeye çalıştım; ancak henüz bir yol bulamadım.


0

Skylake desteği için 4.4 veya daha sonraki bir sürümün Linux çekirdeğine ihtiyacınız var. Arch Linux wiki'sinde aşağıdaki bağlantıya göz atın. https://wiki.archlinux.org/index.php/intel_graphics#Skylake_support


archlinux-2016.08.01-dual.iso 4.6.4 içeriyor, bu yüzden çalışması gerekir
maxf

Bu aptalca bir soru ama bilgisayarınızda memtest çalıştırdınız mı? memtest.org
Peter Skarpetis

1
@Peter Aptal değil ve evet yaptım. Bellek sorunu yok. Ayrıca evet maxf haklı, 4.6.4
tmsimont
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.